web-dev-qa-db-ja.com

CでMP3ファイルを再生する方法は?

CでMP3ファイルを再生する最も簡単な方法を探しています。ファイル名で関数を呼び出すことができるライブラリ、または実行して終了する実行可能ファイルを探しています。提案してください。

33
Sam

[〜#〜] 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

BASS DLL は非常に使いやすく、おそらく必要なことを行います。ただし、非営利目的でのみ無料です。

さらに制御が必要な場合は、コーデック( libMad が望ましい)と、WindowsまたはALSAまたはLinuxのDirectSoundなどのサウンド出力API(またはLinuxの人が今週使用するサウンド)が必要です。

5
Tamas Czinege

Win32では、ライブラリは必要ありません。標準のWin32 APIを使用(mp3はネイティブ)

Advを参照してください。 Win32 APIニュースグループ:news://comp.os.ms-windows.programmer.win32ここでよくある質問です。

3
Derreck

それが「最も簡単な方法」かどうかはわかりませんが、SDLを(SDL_soundとともに)見ることができます。

3
Guishu

WindowsまたはOSXを使用している場合は、BASSをお勧めします( http://www.un4seen.com/bass.html

ライブラリをダウンロードして、コードサンプルを見て開始することができます。 Cディレクトリの「コンテスト」の例は、良い出発点です。

2
Gant

UがC++を使用でき、uがWindowsプラットフォームで動作している場合は、 WMp を使用します

このライブラリは操作が簡単で、mp3ファイルを再生、一時停止、シークできます。

1
Lav

あるいは、誰かがすでに書いたもので、実行して終了するものもあります。

mpg12 (またはその固定小数点ポート mpg321 )を使用できます

mpg123 <mp3file>

mp3ファイルを再生して終了します。

0
codelogic

ここに行く:

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

このWebサイトには、この人がどのようにmp3プレーヤーのコードを生成したかを表示できるZipがあります。

また、チェックアウトすることもできます: 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

0
user1005856

mpg12 には、-Rオプションを指定して実行可能ファイルを起動することでアクセスできる汎用リモートインターフェイスがあります。その後、コマンド(ロード、一時停止など)をfifoパイプを介して、またはサブプロセスのstdinに送信できます。それ以外の場合は、手動でデバッグおよびテストするのは簡単です。

0
Hank