5

AudioUnitAddRenderNotifyスピーカーにオーディオを出力している現在アクティブなRemoteIOユニットに出力レンダリングコールバックを追加したいと思います。実際のRemoteIOインスタンス変数にアクセスできませんが、アプリでオーディオユニットのリストを取得し、その方法でRemoteIOユニットを見つけたいと思います。これも可能ですか?

4

2 に答える 2

1

あなたがアクセスを得ることができればAUGraph、これは可能です。AUGraphのドキュメントによると、役立つ方法がいくつかあります。

AUGraphGetNodeCount-グラフ内のノード数を AUGraphGetIndNode取得する-インデックス付きノードを取得する AUGraphNodeInfo-ノードに関する情報を取得する

正しいノードができたら、remoteIOユニットを取得してコールバックを追加できます。にアクセスすることAUGraphは、実際には本当の問題です。

于 2013-04-09T11:41:37.337 に答える
0

RemoteIOは1つだけです。私はそれを「作成」するものではないのに、それへのポインタを取得しようとしたことはありません。このようなものを試してみませんか。RemoteIOへのポインタが表示されるはずです。

OSStatus status;
AudioComponentInstance audioUnit;

    // Describe audio component
AudioComponentDescription desc;
desc.componentType = kAudioUnitType_Output;
desc.componentSubType = kAudioUnitSubType_RemoteIO;
desc.componentFlags = 0;
desc.componentFlagsMask = 0;
desc.componentManufacturer = kAudioUnitManufacturer_Apple;

// Get component
AudioComponent outputComponent = AudioComponentFindNext(NULL, &desc);

// Get audio units
status = AudioComponentInstanceNew(outputComponent, &audioUnit);
checkStatus(status);
于 2013-04-02T17:01:51.190 に答える