Qtフォーラムにこの質問を掲載しましたが、答えはありませんでした。だから私はここにそれを掲示している。Qt - 音を同時に録音して再生する方法
Qtで同時にサウンドを録音して再生する方法はありますか?マイクからサウンドを録音したいと同時に、スピーカー/ヘッドフォンで再生したいと思います。
Qtでこれを行う方法はありますか?または、他のライブラリを使用する必要がありますか?
解決策がクロスプラットフォーム(Windows、Linux、Macをカバーする必要がある)の場合は、素晴らしいことでしょう。それが不可能な場合は、Linuxの解決策があります。
私は途中でQt 4.7を使用しています。
編集
私の最新の実装はhereを与えています。 QIODeviceのサブクラスを作成し、循環バッファで読み書きを行えるようにwriteDataとreadDataメソッドを再実装しました。私はこれをthis suggestionとして行っています。
オーディオデータはIを適用して十分に速い速度
でオーディオ装置に供給されていない - QAudioOutputインスタンスUnderrun Error
に面しているため、このコードはまたthis documentationに従って意味し、動作しません一時的にこの問題を解決するためのハックです。 outputStateChanged
メソッドでは、出力の状態がIDLE
に変更されているかどうかを確認していますが、それがある場合は、共通バッファを指定してstart()
メソッドを再度呼び出しています。私はこれを恒久的な解決策として使用したくないのです。なぜなら、それは本当にハッキリと感じるからです。そして、その理由を適切に調査せずにエラーを飲み込んでいるからです。
この問題を解決するにはどうすればよいですか?
私はPhononを使用してこれを解決しようとしましたが、このモジュールの十分な知識がないために失敗しました。
@BrianRoach:@BrianRoach:私は始める方法が見つからないので、何も試していません。 QAudioInputを使用して音を鳴らすことができますが、私はQAudioOutputを使用することができますが、これらは両方ともファイル上で動作します。つまり、QAudioInputは入力をファイルに格納し、QAudioOutputはそのファイルから音を再生します。このアプローチは、全二重のシナリオではうまくいかないでしょうか?私は以前の答えのいくつかを見つけましたが、それらのすべてはかなり古く、openAL、portAudioなどの他のライブラリを使用することを提案していますQtライブラリを使用するソリューションがあるかどうかを知りたかったのです。 –