ためadvamceで感謝。
アプリが少しの処理の後にサウンドを録音して再生しています。そのためには、QtMultimediaモジュールの2つのクラス、QAudioRecorder、オーディオを録音してQBufferに格納する、QMediaPlayerを使用して処理済みバッファからデータを再生します。
Androidでコードが正常に動作しますが、何らかの理由でiOSの音楽が非常にうまく演奏されました。電話の音量を最大に設定しても、 mediaPlayer-> setVolume(100)が呼び出されます。
私は、音がメインスピーカーからではなく、電話の会話に使用されている小さなものから演奏しているという事実を思い出しました。それは私に必要なヒントを与え、問題の原因を突き止めるのを助けました:
audioRecorder = new QAudioRecorder();
オーディオレコーダインスタンスの初期化とそのすべての参照をコメントした後、オーディオ出力が正常に戻ってきました。しかし、私がコード内のどこにでも挿入しようとすると、すぐに出力が再び切り替わります。それを元に戻す方法はありません。
私が試してみました何:録画がデフォルトに出力デバイスをQAudioOutput代わりにQMediaPlayerを使用して設定
を終えた後QAudioRecorderのオブジェクトを削除
1: audioOutput =新しいQAudioOutput(QAudioDeviceInfo: :defaultOutputDevice()、audioFormat、this); QAudioDeviceInfo :: availableDevices(QAudio :: AudioOutput)は唯一の "default" を返すので、ここで は、別の問題がある - とQAudioDeviceInfo :: availableDevices(QAudio :: AudioInput)ちょうど同じ
QAudioInputと同じ話の代わりを返しますQAudioRecorder
QMediaPlayerのQMediaServiceを取得し、そこからQAudioOutputSelectorControlを取得します。 QMediaService * service = mediaPlayer-> service(); QAudioOutputSelectorControl * outputSelector = qobject_cast(サービス - > requestControl(QAudioOutputSelectorControl_iid)); しかし、この操作は、あなたが同じ問題に直面したり、それを解決するの任意のアイデアを持っている場合は、私はそれを聞きたい
ヌル