Только назвать некоторых:
И конечно волшебство бренда ;)
И когда дело доходит до выбора RDBMS? Обычно выбор довольно очевиден - Oracle или остальная часть мира. После этого можно сузить выбор:
должно быть достаточно легко сгенерировать самостоятельно. учитывая, что оборудование может воспроизводить буфер pcm (16-битные выборки) на частоте 44,1 кгц (что, безусловно, может быть с какой-либо библиотечной функцией или другой), вам остается только вычислить форму сигнала:
const int PLAYBACKFREQ = 44100;
const float PI2 = 3.14159265359f * 2;
void generateDTMF(short *buffer, int length, float freq1, float freq2)
{
int i;
short *dest = buffer;
for(i=0; i<length; i++)
{
*(dest++) = (sin(i*(PI2*(PLAYBACKFREQ/freq1))) + sin(i (PI2*(PLAYBACKFREQ/freq2)))) * 16383;
}
}
16383 выполнено, так как я ' m, используя аддитивный синтез (просто складывая синусоиды вместе). Следовательно, максимальный результат равен -2,0 - 2,0. Итак, после умножения на 16383 я получаю более или менее максимальный результат в 16 бит: -32768 - +32767
РЕДАКТИРОВАТЬ: 2 частоты - это частоты из статьи в Википедии, на которую ответил другой человек. Две уникальные частоты создают звук DTMF
Простой ответ:
soundArray = [[NSArray alloc] initWithObjects:
[[[SoundEffect alloc] initWithContentsOfFile: @"/System/Library/Audio/UISounds/dtmf-0.caf"] autorelease],
[[[SoundEffect alloc] initWithContentsOfFile: @"/System/Library/Audio/UISounds/dtmf-1.caf"] autorelease],
[[[SoundEffect alloc] initWithContentsOfFile: @"/System/Library/Audio/UISounds/dtmf-2.caf"] autorelease],
[[[SoundEffect alloc] initWithContentsOfFile: @"/System/Library/Audio/UISounds/dtmf-3.caf"] autorelease],
[[[SoundEffect alloc] initWithContentsOfFile: @"/System/Library/Audio/UISounds/dtmf-4.caf"] autorelease],
[[[SoundEffect alloc] initWithContentsOfFile: @"/System/Library/Audio/UISounds/dtmf-5.caf"] autorelease],
[[[SoundEffect alloc] initWithContentsOfFile: @"/System/Library/Audio/UISounds/dtmf-6.caf"] autorelease],
[[[SoundEffect alloc] initWithContentsOfFile: @"/System/Library/Audio/UISounds/dtmf-7.caf"] autorelease],
[[[SoundEffect alloc] initWithContentsOfFile: @"/System/Library/Audio/UISounds/dtmf-8.caf"] autorelease],
[[[SoundEffect alloc] initWithContentsOfFile: @"/System/Library/Audio/UISounds/dtmf-9.caf"] autorelease],
[[[SoundEffect alloc] initWithContentsOfFile: @"/System/Library/Audio/UISounds/dtmf-0.caf"] autorelease],
[[[SoundEffect alloc] initWithContentsOfFile: @"/System/Library/Audio/UISounds/dtmf-pound.caf"] autorelease],
[[[SoundEffect alloc] initWithContentsOfFile: @"/System/Library/Audio/UISounds/dtmf-star.caf"] autorelease],
nil];
Вот и все. Все звуки стандартной телефонной клавиатуры в массиве, готовые для вашего удовольствия.