Используя (кросс-платформенный) 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.
БАСОВЫЙ DLL действительно прост в использовании и вероятно сделает то, в чем Вы нуждаетесь. Это только свободно для некоммерческого использования все же.
при необходимости в большем количестве управления Вам будет нужен кодек (я предпочитаю libMad), и некоторый звуковой вывод API как DirectSound в Windows или ALSA или Linux (или безотносительно использования парней Linux для звука на этой неделе)
Я не знаю, является ли это "самый легкий путь", но Вы могли бы взглянуть на SDL (наряду с SDL_sound).
На Win32 Вам не нужна никакая библиотека. Используйте стандартный API Win32 (mp3, является собственным)
, Посмотрите на Рекламе. Группа новостей API Win32: news://comp.os.ms-windows.programmer.win32, где это FAQ.
Если Вы находитесь в Windows или OSX, я рекомендую БАС ( http://www.un4seen.com/bass.html )
, можно загрузить библиотеку и посмотреть на пример кода для начала работы. Примером "конкурса" в каталоге C является точка хорошего начала.
Если можно использовать C++ и если Вы работаете над платформой окон, чем использование WMp3
, Что Библиотека легка работать с и позволить Вам играть, приостановиться, искать на mp3 файлах.
альтернативно что-то чей-то уже записанный, который просто выполнит и выйдет.
можно использовать , mpg123 (или порт фиксированной точки его, mpg321)
mpg123 <mp3file>
будет играть mp3 файл и выходить.
mpg123 имеет универсальный удаленный интерфейс, к которому Вы получаете доступ путем запуска исполняемого файла с-R опции. Можно затем отправить команды (такие как загрузка, пауза и т.д.) по каналу FIFO или к stdin подпроцесса. Если ничто иное легко отладить и протестировать вручную.