我正在测试我在android中的一个小音频应用程序中找到的这段代码,但我有点卡住了。
short samples[] = new short[buffsize];
int amp = 32767;
double twopi = 2*Math.PI;
double fr = 262.f;
double ph = 0.0;
while(isRunning)
{
fr = 262 + 262*sliderval;
for(int i=0; i < buffsize; i++)
{
samples[i] = (short) (amp*Math.sin(ph));
ph += twopi*fr/sr;
}
audioTrack.write(samples, 0, buffsize);
}
我知道这个循环可以合成声音,但我不知道“ph”参数是什么以及它如何适合生成正弦波的数学。如果有人知道它是什么,可以向我解释一下吗?