У меня есть следующий код для отправки в виде аудио RTP-пакета некоторых цифр DTMF:
int count=0
for(int j = 0; j < samples; j++)
{
waves = 0;
// dtmf tone 1
waves += sin( ((PI * 2.0f / 8000) * 697.0f) * count );
waves += sin( ((PI * 2.0f / 8000) * 1209.0f) * count);
waves *= 8191.0f; //amplitude
++count;
values[j] = (SInt16)waves;
}
Я генерирую цифры программно. Этот код в основном складывает 2 синусоиды и применяет масштабирование. Это даст 16-битные данные PCM, которые затем могут быть закодированы. Частота дискретизации составляет 8 КБ для передачи в виде пакета RTP.
Правильно ли я это сделал?