0

我正在从 AVCaptureVideoPreviewLayer 会话期间录制的视频生成 .m4a(使用精彩的 PBJVision)。然后我从捕获的视频中生成一个 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 关闭 iPod - 如何解决?

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

4

0 回答 0