Воспроизведение короткого собственного звука с немедленным запуском в iOS - PullRequest
1 голос
/ 27 сентября 2011

У меня есть сгенерированный DTMF звук (с заголовком wav), сгенерированный программой, которую я хочу быстро воспроизвести, фактически, как только пользователь нажмет кнопку.Этот звук DTMF должен проигрываться / повторяться бесконечно, пока я не остановлю его.Некоторые другие звуки должны воспроизводиться одновременно.

Я очень новичок в аудио-программировании, и я испытал много способов сделать это, и теперь я потерян.

Как мне этого добиться?

Потребности:

  • очень быстрое начало воспроизведения (включая первый раз)
  • много звуков одновременно (короткие звуки + -2-6 секунд)
  • бесконечный DTMF-звук без пропусков
  • с контролем различных воспроизводимых звуков / возможность остановки только одного воспроизводимого звука

Ответы [ 2 ]

1 голос
/ 28 сентября 2011

AVAudioPlayer, если вы можете жить с некоторой задержкой, OpenAL (например, Finch ), если вам действительно нужно, чтобы задержка была как можно ниже.

0 голосов
/ 28 сентября 2011

Я использую уже существующий .wav файл.и я могу легко играть в нее.

Для запуска следующего кода.включает каркас AudioToolbox.

запись в файл .h #import <AudioToolbox/AudioToolbox.h>
запись в файл .m

-(IBAction)startSound{

    //Get the filename of the sound file:
    NSString *path = [NSString stringWithFormat:@"%@%@", [[NSBundle mainBundle] resourcePath], @"/sound1.wav"];

        //declare a system sound
        SystemSoundID soundID;

    //Get a URL for the sound file
    NSURL *filePath = [NSURL fileURLWithPath:path isDirectory:NO];

    //Use audio sevices to create the sound
    AudioServicesCreateSystemSoundID((CFURLRef)filePath, &soundID);
    //Use audio services to play the sound
    [self sound];
    timer =[ [NSTimer scheduledTimerWithTimeInterval:2.1 target:self selector:@selector(sound) userInfo:nil repeats:YES]retain];

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...