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」パラメーターが何であるか、および正弦波を生成するための数学にどのように適合するかはわかりません。誰かがそれが何であるかを知っているなら、私に説明してもらえますか?