【问题标题】:How to provide delay in audiotrack?如何在音轨中提供延迟?
【发布时间】:2014-05-13 07:08:27
【问题描述】:

我创建了一个类似于会说话的汤姆猫的应用程序,用户的声音可以实时重复... 我已经参考了这个教程http://androidsourcecode.blogspot.in/2013/07/android-audio-demo-audiotrack.html?showComment=1399963972392#c1419513985405584589 但它会在更改代码后立即回复声音 即 track = new AudioTrack(AudioManager.MODE_IN_COMMUNICATION, 9000, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT, maxJitter*19, AudioTrack.MODE_STREAM);

它只会让我延迟一段时间,然后它会立即回复我的声音。 如果我在音轨中保持 8000hz 频率,它会正确回复,但我不想以那个频率回复.... 我已经经历过延迟概念但我没有找到任何合适的解决方案

我被卡住了 Plzzzzzz 帮我解决这个问题.. 提前谢谢....

【问题讨论】:

  • 您不会使用音轨构造函数实现延迟。您应该在创建轨道之前等待,或者在输入缓冲区之前等待。在这两种情况下,您都需要使用 Thread.sleep()
  • 你好。谢谢。你能给我一个sn-p...

标签: android audiorecord audiotrack


【解决方案1】:

通过在创建轨道之前暂停线程来插入延迟:

try {Thread.sleep(delayInMilliSeconds);}
catch (Exception e) {}

track = new AudioTrack(...);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-01
    • 2013-12-15
    • 1970-01-01
    • 1970-01-01
    • 2018-08-06
    • 1970-01-01
    • 2010-11-26
    相关资源
    最近更新 更多