問題タブ [avaudioconverter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - AVAudioConverter.convertToBuffer がエラー コード -50 をスローする
2 オーディオ チャンネルで録音された .wav ファイルを 1 チャンネルのみの .wav ファイルに変換し、ビット深度を 32 から 16 に減らす必要がAVAudioConverter.convertToBuffer
あります。 :Error Domain=NSOSStatusErrorDomain Code=-50 "(null)"
基本的に、実際に変更する必要があるのは、オーディオを 1 つのチャネルとビット深度にストリップすることだけです。これらのファイルを別のツールから取得しているため、ファイルの記録方法を変更することはできません。
私はオーディオを扱うのが得意ではないので、少し困惑しています。私が取り組んでいるコードは以下のとおりです。不足しているものはありますか?
出力に関しては:
avfoundation - AVAudioConverter が iOS 10 で壊れている
AVAudioConverter は iOS 10 で壊れているようです。コードは iOS 9 で動作していましたが、現在は
エラー Domain=NSOSStatusErrorDomain Code=-50 "(null)"
使用されているオーディオ形式に関係なく返されます。毎年、基本的なライブラリ機能が機能しなくなることに驚かされます。
ios - iOS で pcm データを再サンプリングする方法
AudioConverterFillComplexBuffer を使用して pcm バッファのサンプルレートを変換したい(32k から 44.1k)。しかし、なぜ声が変わったように見えるのかわからなかった(ノイズが多すぎる)。主なコードは次のとおりです:</p>
// コールバックを変換
avaudiopcmbuffer - AVAudioConverter convertToBuffer:error:withInputFromBlock の使用方法:
AVAudioConverter を使用して、AVAudioPCMFormatFloat32 非インターリーブ 44.1 KHz バッファーを AVAudioPCMFormatInt16 インターリーブ 48 KHz に変換したいと思います。
着信 AVAudioPCMBuffer には 800 個のサンプルがあり、1920 個の容量で AVAudioPCMBuffer を返す必要があります。
オーディオがいくらかあるが十分でない場合、ブロックで提供されたオーディオは outputBuffer に変換されます。
より多くの入力オーディオが利用可能になったら、もう一度 convertToBuffer を呼び出し、同じ outputBuffer を再利用します。
問題は、変換されたオーディオを最後に追加する代わりに、コンバーターが既存のコンテンツを上書きすることです。
オーディオをオーバーライドするのではなく、最後にオーディオを追加する方法はありますか?
そうでない場合は、要求された数のサンプルが得られるのを待ってから、着信オーディオ バッファーを返す必要があります。
アドバイスをいただければ幸いです。
macos - AVAudioEngine を使用して一部のチャンネルの音量を変更する
VideoCard と外部オーディオ カードからのオーディオをミックスする Mac アプリケーションに取り組んでいます。
AVAudioEngine を使用して、各チャネル (各ソースではなく) の音量を個別に変更するにはどうすればよいですか。
16 チャンネルがインターリーブされた AVAudioPCMBuffer があり、チャンネル 1 と 2 の音量を 50%、その他を 100% にしたいとします。
16 チャンネルの 1 つの AVAudioPCMBuffer を 16 のモノラル AVAudioPCMBuffer に変換し、それぞれに 1 つの AVPlayerNode を用意する必要がありますか? 次に、各 AVPlayerNode の音量を変更しますか?
または、基になる Audio Unit を AVAudioMixerNode から変更する方法はありますか?
または、CoreAudio AudioUnits を直接使用する必要がありますか?