3

(OSX/ココア)

サウンド ファイルのコレクションから任意のサウンド (またはサウンド) を取得し、任意のサウンド出力チャネルを介して再生できるようにする必要があります。できれば、サウンドごとのレベル コントロールと多かれ少なかれ自動チャネル ミキシングを使用します。(複数のサウンドを同じチャンネルで同時に再生できることを意味します)

サウンドはきれいにループできる必要があります。

利用可能な出力チャンネルは、デフォルトの内蔵オーディオに加えて、USB オーディオ デバイス経由で追加されますこの質問では、「チャネル」は USB オーディオ アダプタに相当します。

つまり、次のようなものを見つけて書く必要があります。

 -(BOOL) [someObject playContentsOfURL: (NSURL) soundURL  
                            viaChannel: (id) channelspec
                         atVolumeLevel: (double) volume
                                  loop: (BOOL) loop
         ];

AVAudioPlayerは非常に近いですが、組み込みのステレオ オーディオの使用を想定しているようです。出力を特定の出力デバイスにルーティングする方法がわかりません。ただし、ループは素晴らしいです。

NSSoundPlaybackDeviceIdentifierは出力デバイスのルーティング部分を行いますが、NSSound のループはひどいものです。NSSounds のループがそれほどひどいものでなければ、勝者になるでしょう。

したがって、 NSSound をきれいにループさせるための答えがあれば、この質問に非常に満足のいく答えが得られます。

AVAudioPlayer に出力ルーティングを提供する方法を指定できれば、それも同様に素晴らしいことです。

または、これを実現する CoreAudio またはその他のコードを指定または提供できる場合は、それも機能する可能性があります。

4

0 に答える 0