1

Audio Track と Audio Recorder オブジェクトを作成し、マイクの音をスピーカーに戻そうとしました。

そのために、オーディオ レコード タスクからオーディオ データを「読み取り」、オーディオ トラックに「書き戻す」タスクを作成しました。うまくいっているようです。ただし、このアプリケーションでいくつかのデータ操作を試してみると、オーディオトラックデータをコピーして書き戻すというこのタスクは、実際には何もしないことがわかりました - 私はそれを削除し、2行だけにとどまりました:

    audioRecord.startRecording();
    audioTrack.play();

読み取りも書き込みもありません - アプリケーションは引き続き動作します- つまり、マイクデータがスピーカーにエコーされます! 実際には、私が実行しようとしていたすべての読み取りおよび書き込み操作は無視されているようです!

その他の予期しない動作:

このプロセスを停止しようとしましたが、電話を購入するAudioTrack.stop()AudioTrack.pause()、何も起こりません。オーディオを停止する唯一の方法は、を呼び出すことでしたがAudioRecord.stop()、かがんだ後、AudioRecord再開する方法が見つかりませんでした。

他の誰かもこれを経験しましたか?誰にも解決策がありますか?AudioTrackAndroidとのこの奇妙な動作を説明できる人はいAudioRecordますか?

4

1 に答える 1

2

これらの 3 行は、audioTrack を停止する場合に役立つはずです。

audioTrack.flush();
audioTrack.stop();
audioTrack.release();
于 2012-10-26T17:08:29.643 に答える