Добавление аудиовхода в AVCaptureSession останавливает AVPlayer - PullRequest
4 голосов
/ 30 мая 2011

Я занимаюсь разработкой музыкального приложения, в котором музыкальная нотация отображается через видеофайл m4v, воспроизводимый с использованием AVPLayer, а AVCaptureSession используется для предварительного просмотра и записи как видео, так и аудио исполнителя, играющего вместе с партитурой.

К сожалению, хотя AVCaptureVideoPreviewLayer отображает живое видео, в то время как отображается музыкальная нотация, когда я пытаюсь добавить аудиовход в AVCaptureSession, AVPlayer делает паузу.

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

Я пытаюсь сделать невозможное, или есть способ воспроизвести видео / аудио и записать видео / аудио одновременно.

Насколько я вижу, Skype и Facetime делают похожие (хотя и не совсем одинаковые) вещи.

Ответы [ 3 ]

0 голосов
/ 26 февраля 2013

Попробуй это. Я просто сделал это для другого проекта, и он работает

-(IBAction)beepingSound2
{
    //do this so that we can hear the scream and record the movie too
    [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];
    UInt32 doSetProperty = 1;

    AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof(doSetProperty), &doSetProperty);

    [[AVAudioSession sharedInstance] setActive: YES error: nil];

    [myAudioPlayer1 stop];
    NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"long_beep" ofType: @"mp3"];
    NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: soundFilePath];    
    myAudioPlayer1 = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil];
    [myAudioPlayer1 play];
}
0 голосов
/ 05 декабря 2013

У меня была та же проблема, но она, похоже, исправлена ​​в iOS 7. До iOS 7 я мог заставить AVAudioRecorder работать одновременно с AVPlayer, но не AVCaptureSession со звуком.

0 голосов
/ 01 ноября 2012

Установите категорию аудио-сеанса на нужное свойство PlayandRecord. Также установите для параметра allowmixwithothers значение yes.

...