Tôi đang sử dụng thư viện GPUImage
để quay video vào một tệp trên hệ thống tệp. Tôi lưu nó dưới dạng file m4v. Đây là mã tôi đang sử dụng:Không thể phát máy quay video bằng GPUImage
NSString *pathToMovie = [NSHomeDirectory() stringByAppendingPathComponent:recordingDestination];
unlink([pathToMovie UTF8String]);
NSURL *movieURL = [NSURL fileURLWithPath:pathToMovie];
movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL size:CGSizeMake(1280.0, 720.0)];
[videoCameraFilter addTarget:movieWriter];
movieWriter.shouldPassthroughAudio = YES;
movieFile.audioEncodingTarget = movieWriter;
[movieFile enableSynchronizedEncodingUsingMovieWriter:movieWriter];
[movieWriter startRecording];
[movieFile startProcessing];
[movieWriter setCompletionBlock:^{
[videoCameraFilter removeTarget:movieWriter];
[movieWriter finishRecording];
}];
Điều này ghi lại video m4v. Sau đó, tôi cố gắng phát nội dung đó với MPMoviePlayerController
:
NSString *videoPath = [NSString stringWithFormat:@"%@/%@", [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"], [libraryFiles objectAtIndex:selectedCell]];
NSLog(videoPath);
NSURL *url=[[NSURL alloc] initWithString:videoPath];
MPMoviePlayerController *moviePlayer=[[MPMoviePlayerController alloc] initWithContentURL:url];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDidFinish) name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDonePressed) name:MPMoviePlayerDidExitFullscreenNotification object:moviePlayer];
moviePlayer.controlStyle=MPMovieControlStyleDefault;
[moviePlayer play];
[self.view addSubview:moviePlayer.view];
[moviePlayer setFullscreen:YES animated:YES];
Tuy nhiên, trình phát chỉ bắt đầu lưu vào bộ đệm và không có gì xảy ra. Video không bắt đầu phát. Người chơi chỉ là đệm mãi mãi. Các ứng dụng không sụp đổ và không có cảnh báo trong giao diện điều khiển, vì vậy tôi không biết vấn đề là gì.
có bạn kiểm tra video có trong điểm đến cứu? tải về và chơi nó trên máy của bạn để đảm bảo rằng video không bị hỏng – Ushan87