jjzjj

java - Android Audio - 流式正弦音发生器奇怪的行为

第一次发贴在这里。我通常喜欢自己找到答案(无论是通过研究还是反复试验),但我在这里遇到了困难。我想做什么:我正在构建一个简单的android音频合成器。现在,我只是实时播放正弦音调,UI中的slider会随着用户的调整而改变音调的频率。我是如何构建它的:基本上,我有两个线程——一个工作线程和一个输出线程。每次调用tick()方法时,工作线程只需用正弦波数据填充缓冲区。缓冲区填满后,它会提醒输出线程数据已准备好写入音轨。我使用两个线程的原因是因为audiotrack.write()block,我希望工作线程能够尽快开始处理其数据(而不是等待音轨完成写入)。UI上的slider只是更改工作