Лучший способ реализовать воспроизведение звука - PullRequest
2 голосов
/ 30 июня 2010

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

  1. Создайте простой графический интерфейс, который позволяет пользователю читать проход в файле (файлах) для воспроизведения, а затем запускается процесс ffplay.exe в фоновом режиме для воспроизведения файла (ов).
  2. Получите более глубокое понимание, просто используя libavcodec и основывая свой проект на функциональности, доступной с этим.

У меня есть только несколько основных целей для этого.

  • Уметь читать и воспроизводить несколько файлов без перерывов между ними
  • Начать воспроизведение в произвольном месте (на основе процента общей длительности) в пределах дорожки
  • Остановить воспроизведение через произвольное время и перейти к следующей дорожке

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

Это для приложения Windows, написанного на C #.

Редактировать. Одна из причин, по которой я начал с FFmpeg, заключается в том, что он может обрабатывать файлы многих типов, в частности, MP3, AAC, Flac.

Edit2: Если использование libavcode.dll является лучшим вариантом, было бы также полезно получить некоторую информацию о реализации этого в C #.

1 Ответ

1 голос
/ 02 июля 2010

Аудиотека BASS имеет привязки C # и отлично работает с распространенными аудиоформатами (например, MP3) с плагинами для других форматов (например, AAC).

Однако для коммерческой разработки вам требуется лицензия на использование BASS.

...