.h文件:
#import <UIKit/UIKit.h>#import <MediaPlayer/MediaPlayer.h>@interface MovIEVIEwController : UIVIEwController { MPMovIEPlayerVIEwController *playerController;}-(IBAction) playMovIE:(ID)sender;
.m文件:
@interface MovIEVIEwController ()@end@implementation-(IBAction)playMovIE:(ID)sender {NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"movIEname" ofType:@"mp4"]];playerController = [[MPMovIEPlayerVIEwController alloc] initWithContentURL:url];[self presentMovIEPlayerVIEwControllerAnimated:playerController];playerController.movIEPlayer.movIESourceType = MPMovIESourceTypefile;[playerController.movIEPlayer play];playerController = nil; }
当我运行程序时,电影将播放,但是当代码执行时:playerController = [[MPMovIEPlayerVIEwController alloc] initWithContentURL:url];发生以下错误:
<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
我知道无效的上下文0x0意味着这些特定的变量没有值,但我不知道如何补救这个.任何帮助将不胜感激.
解决方法 我有同样的问题.只说这个:MPMovIEPlayerVIEwController* mpvc = [[MPMovIEPlayerVIEwController alloc] initWithContentURL: m];
导致这些无效的上下文错误消息.视图控制器的视图(全屏播放器)在呈现时出现,并播放电影没有问题;唯一的问题是这些错误消息,我不想在控制台中显示.
从norman的解决方案中提取一下,我简单地将这个调用包装在一个人造绘图环境中,就像这样:
UIGraphicsBeginImageContext(CGSizeMake(1,1));MPMovIEPlayerVIEwController* mpvc = [[MPMovIEPlayerVIEwController alloc] initWithContentURL: m];UIGraphicsEndImageContext();
这是愚蠢的,但它的作品.
总结以上是内存溢出为你收集整理的iphone MPMoviePlayerViewController CGContext错误全部内容,希望文章能够帮你解决iphone MPMoviePlayerViewController CGContext错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)