3

私は、iOS のオーディオ タップ プロセッサを iPod ライブラリで動作させようとしてきましたが、うまくいきませんでした。

主な問題は、「プロセス コールバック」がまったく呼び出されないことがあるようです (Prepare コールバックは呼び出されますが)。

PRocess コールバックが呼び出され始めると、オーディオを一時停止するまでは完全に機能しているように見えます。オーディオの一時停止を解除しようとすると、MTAudioProcessingTapGetSourceAudio が失敗し (エラー: 268451843 および 268435459)、その後何も起こりません。

ドキュメント ディレクトリに保存されている wave ファイルで使用しようとすると、完全に機能します。Process は常に呼び出され、一時停止/一時停止解除は完全に機能します。

スペクトル分析アプリを書いているとき、おそらくスペクトル分析用のオーディオ データの抽出に時間がかかりすぎているのではないかと考えました (特に、受信オーディオをフロート マルチチャネルからショート シングル チャネルに変換しているという従来の理由から)。これに対処するために、dispatch_async を使用して、スペクトル生成のためにバッファリングされたデータをメイン スレッドに渡そうとしました。繰り返しますが、これはドキュメント ディレクトリ内の wave ファイルに対してはうまく機能しているように見えますが、iPod ライブラリからのファイルに対しては完全に機能しません。

悲しいかな、オーディオ タップに関するものはすべて文書化されておらず、コールバックのリアルタイム性のためにデバッグがほぼ不可能です。

アドバイスやアイデアは大歓迎です!

4

1 に答える 1