【发布时间】:2013-04-10 13:48:45
【问题描述】:
我正在尝试使用 MPMoviePlayerViewController 播放视频,我展示了 MPMoviePlayerViewController,但 1 秒后他自行关闭。
这是我的代码:
.h:
#import <MediaPlayer/MediaPlayer.h>
@property (strong, nonatomic) MPMoviePlayerViewController *moviePlayerViewController;
.m:
- (void)playmovie
{
NSString *databaseName = @"NO.mp4";
NSArray *documentPaths =
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDir = [documentPaths objectAtIndex:0];
NSString *databasePath = [documentDir stringByAppendingPathComponent:databaseName];
NSURL *movieURL = [NSURL fileURLWithPath:databasePath];
UIGraphicsBeginImageContext(CGSizeMake(1,1));
self.moviePlayerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:movieURL];
[self presentMoviePlayerViewControllerAnimated:self.moviePlayerViewController];
UIGraphicsEndImageContext();
[self.moviePlayerViewController.moviePlayer prepareToPlay];
[self.moviePlayerViewController.moviePlayer play];
}
请告诉我我做错了什么。
提前致谢!
【问题讨论】:
-
检查下面的答案 stackoverflow.com/a/15586468/1713478 将 url 更改为您的文件路径。试试这个你会成功的。
-
那里的图形上下文是什么?
-
@jjv360 因为我遇到了这个错误:
<Error>: CGContextSaveGState: invalid context 0x0 <Error>: CGContextClipToRect: invalid context 0x0 <Error>: CGContextTranslateCTM: invalid context 0x0 <Error>: CGContextDrawShading: invalid context 0x0 <Error>: CGContextRestoreGState: invalid context 0x0 -
可以给
presentMoviePlayerViewControllerAnimated里的code吗? -
试试下面的 NSString *path =[[NSBundle mainBundle] pathForResource:@"NO" ofType:@"mp4"]; NSURL *url = [NSURL fileURLWithPath:path];
标签: ios objective-c mpmovieplayercontroller mpmovieplayer mpmoviewcontroller