AVAudioPlayer无法在AVCaptureVideoPreviewLayer上播放

时间:2016-01-06 04:41:32

标签: ios iphone avfoundation pbjvision

我在AVCaptureVideoPreviewLayer会话期间(使用精彩的PBJVision)录制的视频中生成.m4a。然后我从捕获的视频中生成一个m4a文件:

AVAssetExportSession *exportSession=[AVAssetExportSession exportSessionWithAsset:myasset presetName:AVAssetExportPresetAppleM4A];

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *audioPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.m4a",audioFileName]];
exportSession.outputURL=[NSURL fileURLWithPath:audioPath];
exportSession.outputFileType=AVFileTypeAppleM4A;

[exportSession exportAsynchronouslyWithCompletionHandler:^{
    if (exportSession.status==AVAssetExportSessionStatusFailed) {
        NSLog(@"failed");
        }
else {
    [_audioFilePaths setObject:audioPath forKey:audioFileName]
    }

然后我尝试玩

AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:[_audioFilePaths objectForKey:square]] error:&error];

NSError *error;
player.numberOfLoops =0;
if (player == nil){
    NSLog(@"%@", [error description]);
    }
 else {
    [player play];
    }

但没有任何戏剧。我没有结束视频捕获会话,但我已经验证m4a已经处理并记录在设备上。我已经尝试在项目中加载了mp3,但他们也没有工作。

认为这是相关的,但没有帮助(尽管我只是把它放在didViewLoad调用中。)AVAudioPlayer turns off iPod - how to work around?

最后,这是一个spritekit项目中的类。

0 个答案:

没有答案