我正在开发一个音乐应用程序,其中通过使用AVPLayer播放的m4v视频文件显示音乐符号,AVCaptureSession用于预览和录制表演者的视频和音频以及得分。
不幸的是,尽管AVCaptureVideoPreviewLayer在显示乐谱时显示实时视频,但当我尝试将音频输入添加到AVCaptureSession时,AVPlayer会暂停。
我已尝试将单独的AVCaptureSession用于预览图层和录音,但这似乎没什么区别。
我是在尝试做不可能的事情,还是有办法同时播放视频/音频和录制视频/音频。
据我所知,Skype和Facetime的相似之处(尽管不完全相同)。
答案 0 :(得分:0)
将音频会话类别设置为右侧属性PlayandRecord。同时将allowmixwithothers设置为yes。
答案 1 :(得分:0)
试试这个。我刚刚为另一个项目做了它,它的工作原理
-(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];
}
答案 2 :(得分:0)
我遇到了同样的问题,但似乎在iOS 7中修复了。在iOS 7之前,我可以让AVAudioRecorder与AVPlayer同时工作,但AVCaptureSession不能用于音频。