Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 动态调整MPMoviePlayerController的大小_Iphone_Ios_Xcode_Ipad_Mpmovieplayercontroller - Fatal编程技术网

Iphone 动态调整MPMoviePlayerController的大小

Iphone 动态调整MPMoviePlayerController的大小,iphone,ios,xcode,ipad,mpmovieplayercontroller,Iphone,Ios,Xcode,Ipad,Mpmovieplayercontroller,如何动态调整MPMoviePlayerController的大小,以固定iPhone/iPad的所有屏幕大小(纵向和横向) 这是我的代码: - (void)viewDidLoad { [super viewDidLoad]; UIBarButtonItem *about = [[UIBarButtonItem alloc] initWithTitle:@"About" style:UIBarButtonItemStyleDone target:self action:@selector(op

如何动态调整MPMoviePlayerController的大小,以固定iPhone/iPad的所有屏幕大小(纵向和横向)

这是我的代码:

 - (void)viewDidLoad
{
[super viewDidLoad];

UIBarButtonItem *about = [[UIBarButtonItem alloc] initWithTitle:@"About" style:UIBarButtonItemStyleDone target:self action:@selector(openPopup)];
self.navigationItem.leftBarButtonItem = about;


NSURL *streamURL = [NSURL URLWithString:@"http:/streamUrl/playlist.m3u8"];

_streamPlayer = [[MPMoviePlayerController alloc] initWithContentURL:streamURL];


self.streamPlayer.controlStyle = MPMovieControlStyleEmbedded;

[self.view addSubview: self.streamPlayer.view];

[self.streamPlayer play];


}
我还试图补充一点

[self.streamPlayer.view setFrame:self.view.bounds];
但这使得视频无法固定到屏幕上,如屏幕截图所示

我如何让它修复所有不同设备的所有屏幕?
提前感谢。

我在ios 5中解决了这个问题 作为:


这里是avPlayerLayer.transform,您可以在任何方向设置它。

我找到的最佳解决方案是使用以下方法

 MPMoviePlayerViewController *moviePlayerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:contentURL]];
        if (moviePlayerViewController) {


            [self presentMoviePlayerViewControllerAnimated:moviePlayerViewController];
            [moviePlayerViewController.moviePlayer setMovieSourceType:MPMovieSourceTypeFile];

            if ([moviePlayerViewController.moviePlayer respondsToSelector:@selector(setAllowsAirPlay:)]) {
                [moviePlayerViewController.moviePlayer setAllowsAirPlay:YES];
            }

            [[NSNotificationCenter defaultCenter] addObserverForName:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayerViewController queue:nil usingBlock:^(NSNotification *notification) {
                [[NSNotificationCenter defaultCenter] removeObserver:self];
                [self dismissMoviePlayerViewControllerAnimated];
            }];
            [moviePlayerViewController.moviePlayer play];
        }
 CGFloat width = [UIScreen mainScreen].bounds.size.width;
 CGFloat height = [UIScreen mainScreen].bounds.size.height;

 [self.streamPlayer.view setFrame:CGRectMake(10, 10 ,height-20, width-70)];

self.view=self.streamPlayer;尝试此操作会导致异常。您只需添加AVPlayerLayer并添加到AVPlayer中,然后就可以更改播放器的任何格式。请确保此代码正确与否,因为xcode告诉我此代码中有错误。我在我的应用程序中使用此代码来定向您会遇到什么错误?AVPlayerLayer,avPlayer和playerView的定义在哪里?请检查您的nib文件,如果您在纵向模式下创建,请将其更改为横向模式,然后再次设置帧,这样您就可以得到准确的结果!!当我尝试使用此选项时,会导致打开视频播放器2秒钟,然后消失并打开我的viewControllerremove[[NSNotificationCenter defaultCenter]addObserverForName:MPMoviePlayerPlayerPlaybackDidFinishNotification对象:MoviePlayerServiceController队列:nil usingBlock:^(NSNotification*通知){[[NSNotificationCenter defaultCenter]removeObserver:self];[self dismissMoviePlayeServiceWControlleranimated];}];我认为您使用的是[[UIDevice currentDevice]设置方向:UIInterfaceOrientationAndscapeRight动画:是];不适用于xcode 4.5的方法?不,我不使用这一行。调试很困难,您需要提供代码:-maheepkaushal@gmail.com
 CGFloat width = [UIScreen mainScreen].bounds.size.width;
 CGFloat height = [UIScreen mainScreen].bounds.size.height;

 [self.streamPlayer.view setFrame:CGRectMake(10, 10 ,height-20, width-70)];