Чем открыть файл.WAV? Работа с SD картой. Воспроизведение wav файла. Ч3 Программа для прослушивания wav

Самой частой причиной проблем с раскрытием файла WAV является просто отсутствие соответствующих приложений, установленных на Вашем компьютере. В таком случае достаточно найти, скачать и установить приложение, обслуживающее файлы в формате WAV - такие программы доступны ниже.

Поисковая система

Введите расширение файла

Помощь

Подсказка

Необходимо учесть, что некоторые закодированные данные из файлов, которые наш компьютер не читает, иногда можно просмотреть в Блокноте. Таким образом мы прочитаем фрагменты текста или числа - Стоит проверить, действует ли этот метод также в случае файлов WAV.

Что сделать, если приложение со списка уже было установлено?

Часто установленное приложение должно автоматически связаться с файлом WAV. Если это не произошло, то файл WAV успешно можно связать вручную с ново установленным приложением. Достаточно нажать правой кнопкой мышки на файл WAV, а затем среди доступных выбрать опцию "Выбрать программу по умолчанию". Затем необходимо выбрать опцию "Просмотреть" и отыскать избранное приложение. Введенные изменения необходимо утвердить с помощью опции "OK".

Программы, открывающие файл WAV

Windows
Mac OS
Linux
Android

Почему я не могу открыть файл WAV?

Проблемы с файлами WAV могут иметь также другую почву. Иногда даже установление на компьютере программного обеспечения, обслуживающего файлы WAV не решит проблему. Причиной невозможности открытия, а также работы с файлом WAV может быть также:

Несоответственные связи файла WAV в записях реестра
- повреждение файла WAV, который мы открываем
- инфицирование файла WAV (вирусы)
- слишком маленький ресурс компьютера
- неактуальные драйверы
- устранение расширения WAV из реестра системы Windows
- незавершенная установка программы, обслуживающей расширение WAV

Устранение этих проблем должно привести к свободному открытию и работе с файлами WAV. В случае, если компьютер по-прежнему имеет проблемы с файлами, необходимо воспользоваться помощью эксперта, который установит точную причину.

Мой компьютер не показывает расширений файлов, что сделать?

В стандартных установках системы Windows пользователь компьютера не видит расширения файлов WAV. Это успешно можно изменить в настройках. Достаточно войти в "Панель управления" и выбрать "Вид и персонализация". Затем необходимо войти в "Опции папок", и открыть "Вид". В закладке "Вид" находится опция "Укрыть расширения известных типов файлов" - необходимо выбрать эту опцию и подтвердить операцию нажатием кнопки "OK". В этот момент расширения всех файлов, в том числе WAV должны появится сортированные по названию файла.

О библиотеке

TMRpcm - Arduino библиотека для асинхронного воспроизведения PCM/WAV файлов напрямую с SD карты.

Использует стандартную библиотеку SD Arduino, SD карту и выходное устройство (громкоговоритель, наушники, усилитель и т.д.).

Поддерживаемые платы:

  • все платы на базе ATmega328: Arduino Uno, Nano, Duemilanove и т.д.;
  • платы Mega: 1280, 2560 и т.д..

Особенности

  • Воспроизведение PCM/WAV напрямую с SD карты.
  • Основные форматы: WAV файлы, 8-бит, частота дискретизации 8-32 кГц, моно.
  • Асинхронное воспроизведение: позволяет работать коду в основном цикле программы во время воспроизведения звука.
  • Работа на одном таймере: TIMER1 (Uno, Mega) или TIMER3, 4 или 5 (Mega).
  • Двухтактный выход или подключение двух динамиков.
  • Двойное увеличение частоты дискретизации.
  • Поддерживаемые устройства: Arduino Uno, Nano, Mega и т.д.

Подготовка аудиофайлов

Файлы конвертируются легко и просто:

  • с помощью iTunes:
    • кликнуть Edit > Preferences > Import Settings;
    • изменить значение в выпадающем списке на WAV Encoder и Setting: Custom > 16.000kHz to 32kHz, 8-bit, Mono;
    • правый клик на любом файле в in iTunes и выбрать " Create WAV Version ";
  • с помощью Audacity:
    • Tracks > Stereo Track to Mono;
    • Project Rate (HZ) > установить 32000, 22050, 16000 или 11025;
    • File > Export > Save as type: Other uncompressed files > Options...;
    • выбрать WAV, Unsigned 8 bit PCM.

Затем с помощью компьютера скопируйте файл на SD карту.

Известные ограничения

Данная библиотека сильно нагружает процессор, и выполнение кода во время воспроизведения будет медленнее, чем обычно. Нагрузка от обработки аудиофайлов может быть уменьшена за счет использования аудио более низкого качества, кодированного с меньшей частотой дискретизации (с минимальным значением 8 кГц).

Возможно влияние на другие библиотеки, которые используют прерывания. Функции isPlaying() , disable() или noInterrupts() могут использоваться для предотвращения параллельного выполнения кода.

Управление громкостью допускает хороший диапазон регулировки громкости, но при большой громкости возможно появление искажений.

Загрузка

Также проект можно найти на GitHub: ссылка .

Функции

TMRpcm audio; audio.play("filename"); // воспроизвести файл audio.play("filename",30); // воспроизвести файл, начиная с 30-ой секунды audio.speakerPin = 11; // установить в значение 5, 6, 11 или 46 для Mega, 9 для Uno, Nano и т.д. audio.disable(); // выключить таймер на выходном выводе и остановить воспроизведение audio.stopPlayback(); // остановить воспроизведение, но таймер остается запущенным audio.isPlaying(); // возвращает 1, если идет воспроизведение, в противном случае - 0 audio.pause(); // поставить воспроизведение на паузу / снять с паузы audio.quality(1); // установить 1 для удвоения частоты дискретизации audio.volume(0); // 1 (включить) или 0 (выключить) для управления громкостью audio.setVolume(0); // от 0 до 7. Устанавливает уровень громкости. audio.loop(1); // 0 или 1. Может быть изменено во время воспроизведения для полного управления зацикливанием.

Пример использования

Это простая схема для проигрывания wav файлов с помощью Arduino Nano v.3.0, она содержит 4 кнопки, при нажатии каждой из которых воспроизводится заданный wav файл, загруженный на SD карту.

  1. Arduino Nano v3.0 (я использовал китайскую версию под названием Funduino Nano);
  2. модуль SD карты;
  3. SD карта;
  4. макетная плата;
  5. четыре кнопки;
  6. четыре резистора 22 кОм;
  7. один резистор 4,7 кОм;
  8. NPN транзистор BC546B;
  9. динамик;
  10. перемычки.

Подготовка SD карты

  1. Отформатируйте SD карту (убедитесь, что настройки форматирования совпадают с приведенными на скриншоте выше).
  2. Конвертируйте ваши аудиофайлы в.WAV файлы (я использовал программу Wav Sample rate converter) со следующими параметрами:
    • частота дискретизации: 16000 Гц;
    • количество каналов: моно;
    • количество бит на отсчет: 8.
  3. Wav файлы для примера приведены ниже.

Схема

Код

Перед написанием кода вам необходимо скачать (ссылка выше в разделе «Загрузка») и установить библиотеку TMRpcm.

#include // также необходимо включить данную библиотеку... TMRpcm tmrpcm; // создать объект для использования в данном скетче int SW1; int SW2; int SW3; int SW4; void setup() { pinMode(14,INPUT); // Определить A0 как цифровой вход. pinMode(15,INPUT); // Определить A1 как цифровой вход. pinMode(16,INPUT); // Определить A2 как цифровой вход. pinMode(17,INPUT); // Определить A3 как цифровой вход. tmrpcm.speakerPin = 9; // 11 на Mega, 9 на Uno, Nano и т.д. if (!SD.begin(SD_ChipSelectPin)) // проверить, есть ли карта, и может ли она быть инициализирована: { return; // если нет, то ничего не делать } tmrpcm.volume(1); tmrpcm.play("1.wav"); // звуковой файл "1" будет проигрываться при каждом включении или перезагрузке arduino } void loop() { SW1=digitalRead(14); SW2=digitalRead(15); SW3=digitalRead(16); SW4=digitalRead(17); if (SW1 == LOW) { // если SW1 нажата, то воспроизвести файл "6.wav" tmrpcm.play("6.wav"); } else if(SW2 == LOW) { // если SW2 нажата, то воспроизвести файл "4.wav" tmrpcm.play("4.wav"); } else if(SW3 == LOW) { // если SW3 нажата, то воспроизвести файл "5.wav" tmrpcm.play("5.wav"); } else if(SW4 == LOW) { // если SW4 нажата, то воспроизвести файл "3.wav" tmrpcm.play("3.wav"); } }

Поиск неисправностей

Если у вас не получилось заставить эту схему работать, то ниже приведены два тестовых скетча для поиска неисправностей. Код был протестирован на Arduino Nano, Uno и Mega.

Подключать кнопки нет необходимости, файлы будут воспроизводится автоматически.

Нет необходимости подключать транзистор, подключите небольшой динамик или наушники напрямую к выводу 9 платы Arduino Nano или к выводу 11 платы Arduino Mega.

Arduinio Nano

Соединение выводов
Arduino Nano SD карта
12 MISO
11 MOSI
13 SCK
4 CS
9 динамик
GND GND
5V VCC
#include // необходимо включить SD библиотеку #define SD_ChipSelectPin 4 // использование цифрового вывода 4 на arduino nano 328 #include TMRpcm tmrpcm; // создать объект для использования в данном скетче void setup() { tmrpcm.speakerPin = 9; // 11 на Mega, 9 на Uno, Nano и т.д. if (!SD.begin(SD_ChipSelectPin)) // проверить, есть ли карта, и может ли она быть инициализирована: { return; // если нет, то ничего не делать } tmrpcm.volume(1); } void loop() { tmrpcm.play("6.wav"); delay(1000); tmrpcm.play("4.wav"); delay(3000); tmrpcm.play("5.wav"); delay(4000); tmrpcm.play("3.wav"); delay(2000); }

Arduino Mega

Соединение выводов
Arduino Mega SD карта
50 MISO
51 MOSI
52 SCK
53 CS
11 динамик
GND GND
5V VCC
#include // необходимо включить SD библиотеку #define SD_ChipSelectPin 53 // использование цифрового вывода 4 на arduino nano 328 #include // также необходимо включить данную библиотеку... #include TMRpcm tmrpcm; // создать объект для использования в данном скетче void setup() { tmrpcm.speakerPin = 11; //11 on Mega, 9 on Uno, Nano, etc if (!SD.begin(SD_ChipSelectPin)) // проверить, есть ли карта, и может ли она быть инициализирована: { return; // если нет, то ничего не делать } tmrpcm.volume(1); } void loop() { tmrpcm.play("6.wav"); delay(1000); tmrpcm.play("4.wav"); delay(3000); tmrpcm.play("5.wav"); delay(4000); tmrpcm.play("3.wav"); delay(2000); }

Если тестовый код работает, то добавьте строку #include в программу с кнопками.

Если звука всё равно нет, то добавьте задержку между командами воспроизведения delay(1000); .

Дополнительные возможности

Данная библиотека предназначалась для простого и удобного пользователю использования в качестве проигрывателя wav аудиофайлов, использующего стандартные библиотеки Arduino и воспроизводящего файлы в простейшем wav формате. Многие дополнительные функции были добавлены по запросам пользователей и включены в pcmConfig.h , чтобы сохранить изначальную простоту.

Большинство дополнительных функций требуют больше памяти RAM, больше программной памяти и, в некоторых случаях, большей вычислительной мощности для воспроизведения. Некоторые из них до сих пор еще отлажены не полностью. Помните об этом при включении данных функций.

Смотрите pcmConfig.h для настройки следующих параметров:

Пользовательские определения

В pcmConfig.h настраиваются следующие параметры:

Настройка параметров TMRpcm
Параметр Описание
#define buffSize 128 Управляет размером двух буферов (или четырех в режиме MULTI).
#define DISABLE_SPEAKER2 Выключает вывод по умолчанию второго динамика для совместимости с другими библиотеками (вывод 10 на Uno).
#define ENABLE_MULTI Включает режим воспроизведения нескольких треков (по умолчанию на одном таймере).
#define STEREO_OR_16BIT Включает воспроизведение стерео или 16-битных файлов.
#define MODE2 Включает режим двойного таймера для воспроизведения нескольких треков. Не доступен с TIMER2.
#define SDFAT Библиотека SdFat использует меньше памяти программ и RAM. Смотрите пример SDFAT в составе данной библиотеки.
#define HANDLE_TAGS Пропускает теги WAV файлов, которые содержат метаданные.
#define USE_TIMER2 Использует 8-разрядный TIMER2, вместо 16-разрядных таймеров.
#define rampMega Принудительный ручной выбор включения/выключения метода линейного изменения ШИМ.
#define ENABLE_RF Включает стриминг аудио через радиоканал (NRF24L01+).

Второй громкоговоритель / двухтактный режим

Данная библиотека по умолчанию выводит данные на два вывода таймер, хотя по умолчанию полностью включен только один.

Для включения дополнительный вывод должен быть настроен на выход, например:

  • Arduino Uno (один выход): audio.speakerPin = 9;
  • Arduino Uno (двухтактный выход): audio.speakerPin = 9; pinMode(10,OUTPUT);

Чтобы полностью выключить второй выход, раскомментируйте в pcmConfig.h строку #define DISABLE_SPEAKER2 .

Режим Multi

Режим Multi включает одновременное воспроизведение двух треков.

Функции множественного режима немного отличаются от функций стандартного режима:

Audio.speakerPin2 = 5; // То же действие, что и в стандартном режиме, используется только с 4-выводным выходом audio.play("sound.wav"); // Воспроизвести файл на выходе 0 audio.play("sound.wav",30,1); // Воспроизвести файл, начиная с 30-ой секунды, на выходе 1 audio.play("sound.wav",0); // play(имя_файла, выход 0 или 1) определяется speakerpin или speakerpin2 audio.stopPlayback(0); // Может принимать номер выхода 0 или 1 audio.isPlaying(0); // Может принимать номер выхода 0 или 1 audio.setVolume(4,0); // Установить громкость на выходе 0 audio.volume(0,1); // Уменьшить громкость на выходе 1

  • по умолчанию: использует тот же таймер и выводы, что и в обычном режиме с двухтактным выходом;
  • MODE2: использует два 16-разрядных таймера и до 4-х выводов.

Использование:

  • рекомендуемая частота дискретизации 16-20 кГц;
  • размер буфера может быть увеличен для улучшения производительности;
  • звуки, воспроизводимые одновременно, должны иметь одинаковые частоты дискретизации;
  • для включения режима multi раскомментируйте определение в pcmConfig.h;
  • переменная audio.speakerPin2 должна быть установлена в 4-выводном режиме для выбора дополнительного таймера / вывода, которые будут использоваться.

Упрощенные режимы:

Примечание: все 4-выводные режимы требуют платы с двумя и более 16-разрядными таймерами.

Воспроизведение стерео и 16-битного аудио

Эти режимы требуют дополнительных ресурсов и вычислительной мощности, так как с SD карты должны считываться удвоенные данные. Треки моно могут воспроизводиться в режиме стерео, но не наоборот.

В стандартном режиме:

#define STEREO_OR_16BIT В этом режиме стерео и 16-битные файлы обрабатываются одинаково, причем первый байт считывает на один выход, а второй байт - на другой. Это дает в результате стерео выход на двух динамиках, подключенных между выводом (выводами) динамика и корпусом, или один 16-разрядный выход, использующий резисторную матрицу. #define MODE2 В стандартном режиме MODE2 позволяет выводить стерео или 16-разрядный звук, используя два дополнительных вывода таймера. Таймер и выводы указываются переменой speakerPin2 . Двухтактные выводы таймера должны быть настроены на выход вручную.

В режиме Multi:

#define STEREO_OR_16BIT Включение этой опции вместе с режимом MULTI позволит воспроизводить два стерео или 16-разрядных трека на отдельных выводах таймера. Это обеспечивает выход для четырех громкоговорителей, подключенных между выводом (выводами) и корпусом, или один 16-разрядный выход для каждого трека. #define MODE2 Включение этой опции с режимом MULTI и STEREO_OR_16BIT ни на что не влияет.

Использование SDFAT

Библиотека SDFAT может использоваться для уменьшения использования оперативной памяти и памяти программ и для повышения производительности. Файлы должны быть включены в скетч. Смотрите пример в архиве с библиотекой.

Метаданные (теги ID3v2.3 и LIST)

Функции были добавлены для чтения данных о песне, артисте и альбоме из тегов ID3v2.3 и LIST в WAV файлах.

Примечание: добавление, модифицирование и редактирование метаданных поддерживает программа Audacity.

ListInfo Прочитать теги LIST в символьный буфер, возвращает длину тега. id3Info Прочитать теги ID3 в символьный буфер, возвращает длину тега. getInfo Ищет оба тега и считывает в символьный буфер, возвращает длину тега. Первым ищется ID3.

Теги для запросов:

  1. 0 = название песни;
  2. 1 = имя артиста;
  3. 2 = название альбома.

Синтаксис:

Byte length = audio.listInfo(,,); byte length = audio.id3Info(,,); byte length = audio.getInfo(,,);

  1. Найти только информацию LIST и напечать название песни через последовательный порт. char info; audio.listInfo("song.wav",info,0); Serial.print(info);Serial.println(":");
  2. Найти информацию ID3v2.3 и LIST и напечатать информацию о песне, артисте и альбоме через последовательный порт. char info; char* titles = {"Now Playing: ", "by: ", "Album: "}; for(int i=0; i<3; i++) { if(audio.getInfo("song1.wav",info,i) > 0) { Serial.print(titles[i]); Serial.println(info); } } audio.play("song1.wav");

Использование TIMER2

Часто данная библиотека используется с платами Uno, Nano и т.д. только с одним 16-разрядным таймером. Когда TIMER1 необходим для других целей, для воспроизведения аудио может быть использован TIMER2.

Выводы динамика - на Uno, Nano и т.д. только вывод 3.

Для включения использования 8-разрядного TIMER2 раскомментируйте строку #define USE_TIMER2 в секции пользовательских определений.

Примечания:

  1. этот вариант, как правило, является не самым лучшим решением;
  2. скорость воспроизведения будет слегка отличаться от использования 16-разрядных таймеров;
  3. воспроизведение на TIMER2 поддерживает нестандартные частоты дискретизации: 31,4 кГц, 23,5 кГц и 15,7 кГц;
  4. увеличение частоты дискретизации включено по умолчанию и в этом режиме не может быть изменено;
  5. рекомендуются частоты дискретизации 24-32 кГц при размере буфера 128.

ШИМ и опция rampMega

В попытках уменьшить шумы треска, создаваемые ШИМ, было опеределено четыре основных источника проблемы:

  1. включение ШИМ/таймеров на Arduino;
  2. выключение ШИМ/таймеров на Arduino;
  3. разница в значениях между треками;
  4. парсинг незвуковых данных.
  • 1 и 2. При тестировании на платах Arduino Duemianove и Mega я обнаружил необходимость в разных методах линейного изменения при включении и выключении. Надеюсь, это решит проблему на большинстве других плат.
  • 3. Код линейного изменения между треками не меняется. При воспроизведении треков с разными частотами дискретизации используйте функцию disable() для выключения таймеров между изменениями. Смотрите также #4.
  • 4. Опция HANDLE_TAGS включена в pcmConfig.h , чтобы обеспечить правильное воспроизведение wav-файлов с включенными метаданными (ID3 или LIST).

Простое цифровое создание WAV файлов

Данные функции будут генерировать стандартные WAV файлы. Исходные данные с аналоговых входов или других датчиков могут быть записаны в файл для генерации цифрового звука, который может быть воспроизведен на любом устройстве, поддерживающем WAV файлы, или легко конвертирован в другие форматы.

Примечание: в дальнейшем будут добавлены и другие форматы wav.

Синтаксис:

Audio.createWavTemplate(,); audio.finalizeWavTemplate();

Использование:

Смотрите пример, включенный в библиотеку. Создайте файл шаблона, затем запишите в него данные, начиная с 44 байта. Используйте команду finalizeWavTemplate , чтобы добавить данные о размере файла перед воспроизведением.

Примечания: Если указанный файл существует, он будет перезаписан при создании, но обновлен только при завершении. Эти функции при использовании функций записи вызываются автоматически.

Запись звука

Запись звука находится всё еще в тестировании и может работать не так, как ожидается.

Функции:

StartRecording Начать запись с указанного аналогового вывода. stopRecording Остановить запись и финализировать wav файл.

Проходной режим - во время записи выдает звук на динамик.

Режимы: 0 - нормальный/нет; 1 - динамик включен; 2 - записи нет, вывод только на динамик.

Синтаксис:

Audio.startRecording(,, ); audio.startRecording(,, , ); audio.stopRecording();

Использование:

  1. раскомментируйте #define buffSize 128 и #define ENABLE_RECORDING в pcmConfig.h ;
  2. начните запись audio.startRecording("sound.wav",16000,A0);
  3. остановите запись audio.stopRecording("sound.wav");

Примечания:

  • для записи рекомендуется библиотека SdFat;
  • рекомендуются SD карты минимум класса 4;
  • возможно, понадобится увеличение buffSize .

При наличии на компьютере установленной антивирусной программы можносканировать все файлы на компьютере, а также каждый файл в отдельности . Можно выполнить сканирование любого файла, щелкнув правой кнопкой мыши на файл и выбрав соответствующую опцию для выполнения проверки файла на наличие вирусов.

Например, на данном рисунке выделен файл my-file.wav , далее необходимо щелкнуть правой кнопкой мыши по этому файлу, и в меню файла выбрать опцию «сканировать с помощью AVG» . При выборе данного параметра откроется AVG Antivirus, который выполнит проверку данного файла на наличие вирусов.


Иногда ошибка может возникнуть в результате неверной установки программного обеспечения , что может быть связано с проблемой, возникшей в процессе установки. Это может помешать вашей операционной системе связать ваш файл WAV с правильным прикладным программным средством , оказывая влияние на так называемые «ассоциации расширений файлов» .

Иногда простая переустановка Microsoft Windows Media Player может решить вашу проблему, правильно связав WAV с Microsoft Windows Media Player. В других случаях проблемы с файловыми ассоциациями могут возникнуть в результате плохого программирования программного обеспечения разработчиком, и вам может потребоваться связаться с разработчиком для получения дополнительной помощи.


Совет: Попробуйте обновить Microsoft Windows Media Player до последней версии, чтобы убедиться, что установлены последние исправления и обновления.


Это может показаться слишком очевидным, но зачастую непосредственно сам файл WAV может являться причиной проблемы . Если вы получили файл через вложение электронной почты или загрузили его с веб-сайта, и процесс загрузки был прерван (например, отключение питания или по другой причине), файл может повредиться . Если возможно, попробуйте получить новую копию файла WAV и попытайтесь открыть его снова.


Осторожно: Поврежденный файл может повлечь за собой возникновение сопутствующего ущерба предыдущей или уже существующей вредоносной программы на вашем ПК, поэтому очень важно, чтобы на вашем компьютере постоянно работал обновленный антивирус.


Если ваш файл WAV связан с аппаратным обеспечением на вашем компьютере , чтобы открыть файл вам может потребоваться обновить драйверы устройств , связанных с этим оборудованием.

Эта проблема обычно связана с типами мультимедийных файлов , которые зависят от успешного открытия аппаратного обеспечения внутри компьютера, например, звуковой карты или видеокарты . Например, если вы пытаетесь открыть аудиофайл, но не можете его открыть, вам может потребоваться обновить драйверы звуковой карты .


Совет: Если при попытке открыть файл WAV вы получаете сообщение об ошибке, связанной с.SYS file , проблема, вероятно, может быть связана с поврежденными или устаревшими драйверами устройств , которые необходимо обновить. Данный процесс можно облегчить посредством использования программного обеспечения для обновления драйверов, такого как DriverDoc .


Если шаги не решили проблему , и у вас все еще возникают проблемы с открытием файлов WAV, это может быть связано с отсутствием доступных системных ресурсов . Для некоторых версий файлов WAV могут потребоваться значительный объем ресурсов (например, память/ОЗУ, вычислительная мощность) для надлежащего открытия на вашем компьютере. Такая проблема встречается достаточно часто, если вы используете достаточно старое компьютерное аппаратное обеспечение и одновременно гораздо более новую операционную систему.

Такая проблема может возникнуть, когда компьютеру трудно справиться с заданием, так как операционная система (и другие службы, работающие в фоновом режиме) могут потреблять слишком много ресурсов для открытия файла WAV . Попробуйте закрыть все приложения на вашем ПК, прежде чем открывать WAVE Audio File. Освободив все доступные ресурсы на вашем компьютере вы обеспечите налучшие условия для попытки открыть файл WAV.


Если вы выполнили все описанные выше шаги , а ваш файл WAV по-прежнему не открывается, может потребоваться выполнить обновление оборудования . В большинстве случаев, даже при использовании старых версий оборудования, вычислительная мощность может по-прежнему быть более чем достаточной для большинства пользовательских приложений (если вы не выполняете много ресурсоемкой работы процессора, такой как 3D-рендеринг, финансовое/научное моделирование или интенсивная мультимедийная работа). Таким образом, вполне вероятно, что вашему компьютеру не хватает необходимого объема памяти (чаще называемой «ОЗУ», или оперативной памятью) для выполнения задачи открытия файла.

What is WAV file? WAV (WAVE) is short for Waveform Audio File Format. WAV is an audio standard developed by Microsoft and IBM specifically for storing audio bitstream on computers. The WAV file used for raw and uncompressed audio, and it has grown to become a standard computer audio format for everything from system and game sounds to radio broadcasting.

Since WAV file is very popular now, it is not hard to find an audio player that is compatible with WAV file. In this article, we have listed the best WAV player we could find for you to play WAV player smoothly on PC/Mac.

Best WAV player for Windows/Mac

9
No. Screenshot Features
1 Free Media Player
  • ◆ Best free all-in-one WAV player for Windows/Mac users.
    ◆ Enable to play HD/4K UHD videos.
    ◆ Support audio formats like WAV, OGG, FLAC, AAC, MP3, etc.
2
(WAV player for: Windows/Mac)
  • ◆ Play WAV, FLAC, MP3, OGG, WMA, AAC, etc.
    ◆ Play WMV, MP4, MKV, MTS, M2TS, VOB, and more video files.
    ◆ Play Blu-ray disc/folder.
3 VLC Media Player
(WAV player for: Windows/Mac)
  • ◆ One of the most popular media player, work as a video player or a audio player.
  • ◆ Supported audio/video formats: WAV, FLAC, MP4, MP3, AVI, MKV, WMV, VOB and more.
  • ◆ WAV player for both Windows/Mac. Simple and easy-to-use.
4

(WAV player for: Windows)

  • ◆ Default WAV player for Windows.
  • ◆ Clean and simple interface.
5
(WAV player for: Mac)
  • ◆ Default WAV player for Mac.
  • ◆ Play audio formats smoothly like WAV, FLAC, M4A, AAC, WAV, WMA, APE, OGG, etc.
  • ◆ A good audio managment tool for iPhone, iPad and iPod.
6

(WAV player for: Windows/Mac)

  • ◆ Free and most popular audio player which can player WAV file greatly.
  • ◆ Winamp can be downloaded and installed on Windows, Mac, iOS and Android.
  • ◆Include music visualization, playlist creation, plug-ins, skins and a media library.
7
(WAV player for: Windows)
  • ◆ Free WAV player for Windows 8/7/Vista/XP.
  • ◆ Support more than 80 types of video/audio formats including WAV.
  • ◆ Everything needed is included in the setup program. No obscure codecs needed.
8
(WAV player for: Mac)
  • ◆ A multifunctional free media player for Mac that can be taken as WAV player.
  • ◆ Supports a wide range of common audio & video formats, including WAV, FLV, SWF, WMV, AVI, MOV, MP4, MP3, DAT, FLAC, M4V, MPG, MKV and more
  • ◆Boasts features such as built-in web-browser and Open URL option that allow you to watch online videos from the app window.

(WAV player for: Windows)
  • ◆ An excellent audio player that can play WAV, FLAC, MP3, M4A, AAC, OGG, WMA and more.
    ◆ Sync music from various devices to your computer and works as an alternative to itunes as well.
10 VOX
(WAV player for: Mac/Windows)
  • ◆ Vox media player can play WAV, FLAC, OGG, WMA, MP3 and other audio files.
  • ◆ Vox has Vox for Mac and Vox for Windows.
  • ◆ Enable you to listen to any kind of music on any kind of your wireless output devices.

Q&A about WAV playback

In this article, I have introduced 8 best WAV players for you to play WAV file smoothly on Wuter or pindows or Mac. Of course, a WAV player is not optional. You could also try to convert WAV file to MP3 for easy enjoyment on iPhone/iPod. Have better WAV player recommendation? Feel free to leave your suggestion down below!

Q1. How to free play WAV files on Mac?

Free Media Player is definitely what you want. This free Mac WAV player is able to let you paly WAV files with great audio quality.


Q2. Can VLC play WAV files?

Yes, VLC can play WAV files. VLC comes equipped with the digital programming that instructs it how to handle data sent via the WAV format.

1) Launch the VLC media player. Click on "Media" from the menu bar.
2) Click on "Open File" from the pop-up window and get ready to load your WAV files.
3) Click on the "Open" button. The WAV file will load and the VLC media player will start playing it automatically.

Q3. How do I play WAV file on my mobile phone?

You can use Free Video Converter to free convert music to WAV format and then play WAV iPhone or Android smartphone.

In this article, I have introduced best WAV players for you to play WAV file smoothly on Windows or Mac. What is your favorite WAV Player? Leave what you want to say below!

What do you think of this post?

Воспроизведение WAV-аудио

Платформа.NET Framework имеет небогатую историю поддержки звука. Версии 1.0 и 1.1 не предлагали никакого управляемого способа воспроизведения аудио, а когда долгожданная поддержка, наконец, появилась в.NET 2.0, она была представлена в форме не приводящего в восторг класса SoundPlayer (который можно найти в "малонаселенном" пространстве имен System.Media). Класс SoundPlayer довольно ограничен: он может воспроизводить только файлы в формате WAV, не поддерживает воспроизведения одновременно более одного звука и совсем не предоставляет возможностей управления никакими аспектами воспроизведения аудио (например, громкостью и балансом).

Чтобы получить эти возможности, разработчики, использующие Windows Forms, вынуждены были работать с библиотекой неуправляемого кода quartz.dll. Библиотека quartz.dll - ключевая часть DirectX, и она присутствует в проигрывателе Windows Media и операционной системе Windows. (Тот же компонент известен под названием DirectShow, а предыдущие версии назывались ActiveMovie.)

Класс SoundPlayer поддерживается в приложениях WPF. Если смириться с его существенными ограничениями, то можно сказать, что он предлагает наиболее простой и легкий способ добавления работы с аудио в приложения. Класс SoundPlayer также упаковывается в класс SoundPlayerAction. который позволяет воспроизводить звук через декларативный триггер (вместо написания нескольких строк кода C# в обработчике событий). В следующих разделах будет представлен краткий обзор обоих классов, а затем уже описания более мощных WPF-классов MediaPlayer и MediaElement.

Класс SoundPlayer

Чтобы воспроизвести звук с помощью класса SoundPlayer, понадобится выполнить перечисленные ниже шаги:

    Создать экземпляр SoundPlayer.

    Указать звуковое содержимое, установив либо свойство Stream , либо свойство SoundLocation . Если есть объект Stream, содержащий звук в формате WAV, используйте свойство Stream. Если же есть путь к файлу или URL, указывающий на файл WAV, применяйте свойство SoundLocation.

    Если аудио-содержимое хранится в виде двоичного ресурса и встроено в приложение, то потребуется доступ к нему в виде потока и использование свойства SoundPlayer.Stream. Причина в том, что SoundPlayer не поддерживает синтаксис упакованных URL в WPF.

    Установив свойство Stream или SoundLocation, можно заставить SoundPlayer в действительности загрузить аудиоданные, вызвав метод Load() или LoadAsync(). Метод Load() наиболее прост - он останавливает выполнение кода до тех пор, пока весь звуковой фрагмент не будет загружен в память. LoadAsync() выполняет свою работу в другом потоке и по завершении инициирует событие LoadCompleted.

    Формально использовать Load() или LoadAsync() не обязательно. Экземпляр SoundPlayer загружает аудиоданные по мере необходимости, когда вызывается метод Play() или PlaySync(). Однако явно загрузить аудио-фрагмент - хорошая идея; это не только позволит снизить накладные расходы при многократном воспроизведении, но также упростит обработку исключений, связанных с файловыми проблемами, отдельно от исключений, вызванных причинами, относящимися к процессу воспроизведения.

    После этого можно вызвать PlaySync() , который приостановит код на время воспроизведения аудио-фрагмента, или же применить Play() для воспроизведения в другом потоке, обеспечивая интерфейсу приложения способность реагировать на действия пользователя. Единственный другой доступный вариант - это метод PlayLooping() , воспроизводящий аудио-фрагмент асинхронно в бесконечном цикле (что идеально для саундтреков). Чтобы остановить текущее воспроизведение в любой момент, необходимо вызвать метод Stop() .

В следующем фрагменте кода демонстрируется простейший подход к загрузке и асинхронному воспроизведению аудиофайла:

SoundPlayer sp = new SoundPlayer(); sp.SoundLocation = "tada.wav"; sp.Load(); sp.PlayLooping()

До сих пор в коде предполагалось, что аудиофайл присутствует в том же каталоге, что и скомпилированное приложение. Однако загружать SoundPlayer-аудио из файла не обязательно. Для коротких звуков, которые воспроизводятся в нескольких местах приложения, возможно, разумнее встроить звуковые файлы непосредственно в скомпилированную сборку в виде двоичных ресурсов (не путайте их с декларативными ресурсами, определяемыми в коде разметки XAML). Эта техника работает со звуковыми файлами так же хорошо, как и с графическими изображениями.

Например, если добавить файл ding.wav как ресурс по имени Ding (просто перейдите к узлу Properties --> Resources (Свойства --> ресурсы) в окне Solution Explorer и воспользуйтесь поддержкой визуального конструктора), то можно будет применить следующий код для его воспроизведения:

SoundPlayer player = new SoundPlayer(); player.Stream = Properties.Resources.Ding; player.Play();

Класс SoundPlayer не слишком хорошо работает с большими аудиофайлами, поскольку он должен загрузить в память весь файл целиком. Может показаться, что данную проблему можно разрешить, разбив большой аудиофайл на куски, однако класс SoundPlayer не предназначен для этого. Не существует простого способа такой синхронизации SoundPlayer, чтобы он мог воспроизвести множество аудиофрагментов друг за другом, поскольку он не обеспечивает никаких средств для организации очередей. Всякий раз, когда вызывается метод PlaySound() или Play(), текущее воспроизведение останавливается. Обходные пути возможны, но намного лучше вместо этого воспользоваться классом MediaElement.

Класс SoundPlayerAction

Класс SoundPlayerAction позволяет более удобно использовать класс SoundPlayer. Класс SoundPlayerAction унаследован от TriggerAction, который позволяет использовать его в ответ на любое событие.

Ниже приведена разметка кнопки, применяющей SoundPlayerAction для подключения события Click к звуку. Триггер организован так, что его можно применить к множеству кнопок (если перенести его в коллекцию Resources):

При использовании SoundPlayerAction звук всегда воспроизводится асинхронно.

Публикации по теме