gpt4 book ai didi

iphone MPMoviePlayerViewController CGContext 错误

转载 作者:行者123 更新时间:2023-12-03 18:31:19 26 4
gpt4 key购买 nike

我正在为 iPhone 编写一个应用程序,它将利用 MPMoviePlayerViewController 播放一些电影。到目前为止,我已经让它可以播放电影了,但是它在调试器中抛出了一些以 CGContext 开头的错误。我绞尽脑汁试图修复它。以下是我的代码的详细信息:

.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];

导致了这些无效上下文错误消息。 View Controller 的 View (全屏播放器)确实在呈现时出现,并且播放电影没有问题;唯一的问题是这些错误消息,我不希望它们出现在控制台中。

从诺曼的解决方案中得到提示,我只是将调用包装在人工绘图上下文中,如下所示:

UIGraphicsBeginImageContext(CGSizeMake(1,1));
MPMoviePlayerViewController* mpvc =
[[MPMoviePlayerViewController alloc] initWithContentURL: m];
UIGraphicsEndImageContext();

虽然很愚蠢,但确实有效。

关于iphone MPMoviePlayerViewController CGContext 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13203336/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com