【问题标题】:Android AudioTrack and AudioRecord strange behaviourAndroid AudioTrack 和 AudioRecord 奇怪的行为
【发布时间】:2012-09-19 16:07:07
【问题描述】:

我创建了 Audio Track 和 Audio Recorder 对象,并尝试将麦克风的声音传回扬声器。

为此,我创建了一个任务,从音频记录任务“读取”音频数据并将其“写回”到音频轨道。它似乎工作正常。然而,在玩这个应用程序尝试一些数据操作时,我了解到这个复制音轨数据并写回来的任务实际上什么都不做——我删除了它,只保留了两行:

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

没有读取或写入 - 应用程序继续工作 - 即麦克风数据回显到扬声器!在实践中,我尝试执行的所有读写操作似乎都被忽略了!

其他一些意外行为:

我试图停止此过程购买调用AudioTrack.stop()AudioTrack.pause() - 没有任何反应,停止音频的唯一方法是调用AudioRecord.stop(),但是在弯腰AudioRecord 之后我找不到重新启动的方法它。

有没有其他人也遇到过这种情况?有没有人有办法解决吗? 谁能解释 Android AudioTrackAudioRecord 的这种奇怪行为?

【问题讨论】:

    标签: android audiorecord audiotrack android-audiorecord


    【解决方案1】:

    当您想停止 audioTrack 时,这 3 行应该适合您

    audioTrack.flush();
    audioTrack.stop();
    audioTrack.release();
    

    【讨论】:

    • 我的主要问题是为什么这种奇怪的无证行为在麦克风和扬声器之间建立了直接的内部连接,而没有任何方法可以控制它。
    猜你喜欢
    • 2018-03-06
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    • 2014-10-19
    • 2017-12-12
    • 1970-01-01
    • 2013-02-14
    • 2013-02-07
    相关资源
    最近更新 更多