6

オーディオを出力するためのシンプルなライブラリを探しています。次の基準を満たしたいと思います。

  • LPGL/zlib/MIT などでライセンスされています。インディー商用アプリケーションで使用するつもりですが、ライセンスを取得するお金がありません。
  • Cで書かれていますが、C++でも問題ありません。
  • クロスプラットフォーム (Windows、Linux、おそらく OSX)
  • メモリ内のある種のオーディオ ファイル (WAV または OGG を好むが、必要に応じてあまり一般的でない形式を喜んで使用します) から読み取ることができます (memfile 構造体とユーザー定義の I/O コールバックの使用を見てきました)。 )。すべてのリソースを .zip アーカイブに入れ、別のライブラリを使用してそれらのアーカイブ ファイルをメモリにロードするため、ファイルをメモリに配置する必要があります。
  • 同時に複数のサウンドの再生をサポートします。最大 8 程度までは問題ありません。
  • ソースコードまたはスタティック ライブラリ (MinGW/GCC lib???.a) のいずれかが欲しいのですが、他に何も利用できない場合は、共有ライブラリを使用します。

検索で 20 もの異なるオーディオ ライブラリに出くわしたに違いありませんが、そのすべてがこれらの基準を完全には満たしていません...

4

4 に答える 4

3

PortAudio + libsndfile をお勧めします。非常に人気のあるコンボで、お客様の要件を満たします。audacity を含む他の多くのソフトウェア アプリケーションで使用されます。

于 2012-08-20T23:28:19.213 に答える
1

SDLSDL_mixerを調べることをお勧めします。これが良いチュートリアルです。私はSDL_mixerを使用しました。これにより、独自のサウンドサンプルミキサーを作成しなくても、バックグラウンドサウンドや音楽を簡単に再生したり、複数の同時サウンドを再生したりできます。

于 2012-08-20T23:21:29.903 に答える
1

すぐに頭に浮かぶ候補のいくつかは次のとおりです。

しかし、あなたはすでにこれらを見て、それらを排除したかもしれません. 検討から除外したライブラリとその理由について、もう少し詳しく教えていただけますか? これは、推奨事項を絞り込むのに役立ちます。

于 2012-08-20T23:12:56.673 に答える
1

私は最終的に PortAudio (非常に低レベルで柔軟なライセンス) を使用し、自分でミキサーを書きました。カスタム ミキサーの作成に関する他の人のヒントについては、C++ フォーラムで作成したこのトピックを参照してください。まったく難しいことではありません。こんなにたくさんのミキサー ライブラリがあることに驚いています。WAV 形式 (44 バイトのヘッダーを持つ、すぐにストリーミングできる未加工のオーディオ データ) の内訳については、こちらを参照してください。

于 2012-08-26T06:20:00.020 に答える