Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

Используя 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.

Ответ 2

BASS DLL действительно прост в использовании и, вероятно, сделает то, что вам нужно. Он доступен только для некоммерческого использования.

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

Ответ 3

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

Ответ 4

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

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

Ответ 5

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

См. Группа новостей Win32 api: Новости://comp.os.ms-windows.programmer.win32 где это FAQ.

Ответ 6

Если вы можете использовать С++ и если u работает на платформе Windows, чем использовать WMp3

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

Ответ 7

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

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

mpg123 <mp3file>

будет воспроизводить mp3 файл и выйти.

Ответ 8

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

Ответ 9

Перейдите сюда:

http://code4k.blogspot.com/2010/05/playing-mp3-in-c-using-plain-windows.html

На этом веб-сайте есть почтовый индекс, в котором вы можете посмотреть, как этот человек сгенерировал код для mp3-плеера.

Вы также можете проверить: http://www.codeguru.com/cpp/g-m/directx/directshow/article.php/c19079/Simple-C-MP3-Player-Class.htm

или

http://www.ucancode.net/Visual_C_Control/Play-MP3-File-VC-Sample-Player.htm