2012-01-19 6 views
0

OGGまたはAAC(およびWAV)ファイルを再生するポータブル(Linux、Windows、Mac OS X)の方法を探しています。C++で複数のOSでサウンドファイルを再生するには?

私はFMODのようなクローズドソースオプションを試しましたが、ライセンスにはコストがかかりすぎます。

私はAudiereのようなオープンソース・プロジェクトを試してみましたが、それはポストOSSのLinuxディストリビューションでうまく動作doesntのと、私はプラットフォームごとに解決策を見つけようと考えられてきた2006年

ので、サイトによると、更新されていませんクラスで抽象化するだけですが、各プラットフォームでこれを行うための最善の方法についての情報は見つかりませんでした。

特別な機能は必要ありません。オーディオファイルを再生/停止したいだけです。 (C++で)

推奨事項はありますか?

答えて

0

PortAudioを使用して、デバイスにポータブルに音声を出力することができます。完全なデコードと再生のソリューションについては、GStreamerをご覧ください。

2
+0

OpenAL(独自の)がデコードしないと表示されていますが、私はこれを見ています。 OpenALのためにこれらのフォーマットをロードするために使用できるオープンソースの関数/パッケージを見つけることができれば、これは私の解決策かもしれません。 – latreides

+0

OpenALにOGG(またはAAC)ファイルを追加バイナリなしでロードする簡単なソリューションを探しています。これは可能ですか? – latreides

+0

OpenALはナイーブなサウンドライブラリです。したがって、 'エンコードされた'ストリームを再生したい場合、そのストリームのデコーダを使用する必要があります。このリンクがあなたに役立つことを願っています。 http://www.gamedev.net/page/resources/_/technical/game-programming/introduction-to-ogg-vorbis-r2031 – lqez

0

、マルチメディアのものに対処するためのクロスプラットフォームソリューションをGStreamerを考えてみましょう。 QtGstreamerにはC++バインディングがあります。

This postは、Windowsのセットアップについて説明しています。

+0

Qtを依存関係として追加することは選択肢ではありません。私の言うところでは、Microsoftコンパイラのセットアップの詳細しか表示されません。 – latreides

+0

QtGstreamerは実際にQtを必要としますが、GStreamerは必要ありません。 Gstreamerの最も複雑なセットアップはWindows上で行われているので、私はそのリファレンスを追加しました。 Mac/Linuxでは、brew(Mac)、apt-getまたはyum(Linuxの場合)のいずれかのパッケージマネージャを使って簡単にインストールできます。最小限のアプリケーションをコンパイルするには 'g ++ demo.cpp -o demo -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/includeを実行します。 -I/usr/include/libxml2 -lgstreamer-0.10 \ 'pkg-config --libs glib-2.0 \' -lgobject-2.0' – karlphillip

+0

OpenALが私に必要なものを提供していない場合、GStreamerを試しているかもしれません。 OpenALよりもちょっと面倒です)。 Microsoftコンパイラのセットアップの詳細しか載っていないと述べたところ、OSという意味ではありませんでした。私はLinuxとMacで私のすべてのビルドを行う方法をよく知っています(あなたのアプリにビルドしたり、アプリと共にlibsを配布したい場合はそれほど簡単ではありませんが)最も複雑な設定はWindows上にあるため、非MSコンパイラに関する情報があればうまくいくはずです。 – latreides

関連する問題