Как играть файлы MP3 в C?

34
задан Oak Bytes 8 July 2012 в 17:41
поделиться

8 ответов

Используя (кросс-платформенный) FMOD, это должно быть настолько просто:

#include <conio.h>
#include "inc/fmod.h"

FSOUND_SAMPLE* handle;

int main ()
{
   // init FMOD sound system
   FSOUND_Init (44100, 32, 0);

   // load and play mp3
   handle=FSOUND_Sample_Load (0,"my.mp3",0, 0, 0);
   FSOUND_PlaySound (0,handle);

   // wait until the users hits a key to end the app
   while (!_kbhit())
   {
   }

   // clean up
   FSOUND_Sample_Free (handle);
   FSOUND_Close();
}

Как примечание стороны, я предложил бы Вас использующий C++ по C.

24
ответ дан 27 November 2019 в 17:10
поделиться

БАСОВЫЙ DLL действительно прост в использовании и вероятно сделает то, в чем Вы нуждаетесь. Это только свободно для некоммерческого использования все же.

при необходимости в большем количестве управления Вам будет нужен кодек (я предпочитаю libMad), и некоторый звуковой вывод API как DirectSound в Windows или ALSA или Linux (или безотносительно использования парней Linux для звука на этой неделе)

5
ответ дан 27 November 2019 в 17:10
поделиться

Я не знаю, является ли это "самый легкий путь", но Вы могли бы взглянуть на SDL (наряду с SDL_sound).

3
ответ дан 27 November 2019 в 17:10
поделиться

На Win32 Вам не нужна никакая библиотека. Используйте стандартный API Win32 (mp3, является собственным)

, Посмотрите на Рекламе. Группа новостей API Win32: news://comp.os.ms-windows.programmer.win32, где это FAQ.

3
ответ дан 27 November 2019 в 17:10
поделиться

Если Вы находитесь в Windows или OSX, я рекомендую БАС ( http://www.un4seen.com/bass.html )

, можно загрузить библиотеку и посмотреть на пример кода для начала работы. Примером "конкурса" в каталоге C является точка хорошего начала.

2
ответ дан 27 November 2019 в 17:10
поделиться

Если можно использовать C++ и если Вы работаете над платформой окон, чем использование WMp3

, Что Библиотека легка работать с и позволить Вам играть, приостановиться, искать на mp3 файлах.

1
ответ дан 27 November 2019 в 17:10
поделиться

альтернативно что-то чей-то уже записанный, который просто выполнит и выйдет.

можно использовать , mpg123 (или порт фиксированной точки его, mpg321)

mpg123 <mp3file>

будет играть mp3 файл и выходить.

0
ответ дан 27 November 2019 в 17:10
поделиться

mpg123 имеет универсальный удаленный интерфейс, к которому Вы получаете доступ путем запуска исполняемого файла с-R опции. Можно затем отправить команды (такие как загрузка, пауза и т.д.) по каналу FIFO или к stdin подпроцесса. Если ничто иное легко отладить и протестировать вручную.

0
ответ дан 27 November 2019 в 17:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: