「Crosstalk」という名前の C++ オーディオ ライブラリを作成しました。
Crosstalk は、オーディオ システムの作成とルーティングを可能にするリアルタイム C++ オーディオ エンジンです。
mp3 ファイルを再生する方法の例を次に示します。
XtSystem system;
XtMp3Decoder mp3Decoder;
XtAudioDevice audioDevice;
long md = system.addComponent(&mp3Decoder);
long ad = system.addComponent(&audioDevice);
system.connOutToIn(md,0,ad,0);
system.connOutToIn(md,1,ad,1);
mp3Decoder.loadFile("../05 Tchaikovski-Swan Lake-Scene.mp3");
mp3Decoder.play();
Crosstalk には、サンプル Xcode および Visual Studio プロジェクトが含まれています。
Crosstalk をダウンロードして、API ドキュメントとライセンスの詳細を確認できます。
編集:
ボリュームの設定に関しては、「XtGain」と呼ばれるクロストークに含まれるコンポーネントがあり、mp3 デコーダー出力とオーディオ デバイス入力の間に直列に配線できます。これにより、スピーカーに到達する前にオーディオ ストリームの音量を設定できます。
編集 (01-12-2012):
Crosstalk は、「 DSPatch 」と呼ばれるオープンソース プロジェクトに置き換えられました。DSPatch は基本的に、クロストークの背後にあるルーティング エンジンのアップグレード バージョンであり、オーディオ処理だけに制限されなくなりました。DSPatch を使用すると、想像できるほぼすべてのタイプのプロセス チェーンを作成およびルーティングできます。また、個人および独自の使用は無料です :)