Я смотрю на это example about sound generation on iOS, потому что мне нужно сделать что-то подобное, но есть некоторые части, которые я не понимаю, и я надеялся, что кто-то сможет мне помочь.Генерация тона iOS
В этой части кода:
double theta_increment = 2.0 * M_PI * viewController->frequency/viewController->sampleRate;
// Generate the samples
for (UInt32 frame = 0; frame < inNumberFrames; frame++)
{
buffer[frame] = sin(theta) * amplitude;
theta += theta_increment;
if (theta > 2.0 * M_PI)
{
theta -= 2.0 * M_PI;
}
}
Я не очень понимаю, что theta += theta_increment;
часть для. Для меня имеет смысл делать что-то подобное внутри цикла for:
buffer[frame] = sin(theta_increment * frame);
Любая идея, почему это не сработает? Кроме того, я понятия не имею, для чего эта часть кода предназначена для: if (theta > 2.0 * M_PI)
, поэтому любое объяснение этому было бы очень желанным.