Воспроизведение аудио файлов непрерывно с сенсорными движениями в iPhone - PullRequest
1 голос
/ 25 октября 2011

Я пытаюсь воспроизводить непрерывные звуковые вырезки, когда касание перемещается по экрану iPhone.Существуют определенные звуковые обрезки в соответствии с областями экрана.Когда касание меняет свою область, предыдущий звук исчезает, и новый клип (новой области) исчезает. В методе - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event я обнаруживаю изменение области и вызываю метод [self playSoundForRect].Вот метод:

-(void)playSoundWithPath
{
    [self fadeVolume];
    NSString *audioPath;
    switch (curRect) // curRect is the Currently entered region
    {
        case 1:
            audioPath = [[NSBundle mainBundle] pathForResource:@"clip1" ofType:@"mp3"];
            break;
        case 2:
            audioPath = [[NSBundle mainBundle] pathForResource:@"clip2" ofType:@"mp3"];
            break;
        case 3:
            audioPath = [[NSBundle mainBundle] pathForResource:@"clip3" ofType:@"mp3"];
            break;
        case 4:
            audioPath = [[NSBundle mainBundle] pathForResource:@"clip4" ofType:@"mp3"];
            break;
        default:
            break;
    }
    theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:audioPath] error:NULL];
    theAudio.delegate = self;
    [theAudio play];
}

-(void)fadeVolume
{  
    if (theAudio.volume > 0.1)
    {
        theAudio.volume -= 0.1;
        [self performSelector:@selector(fadeVolume) withObject:nil afterDelay:0.1];           
    }
    else
    {
        [theAudio stop];
    }
}

Но код работает неправильно.Как правильно смешивать входные и выходные клипы, чтобы они выглядели гладкими и непрерывными?Любые предложения приветствуются.

1 Ответ

0 голосов
/ 25 октября 2011

Возможно, вы захотите попробовать создать микшер для необработанного звука и использовать RemoteIO вместо AVPlayer API для потоковой передачи микса.

...