iOS无法播放视频

iOS无法播放视频,ios,Ios,我试图在加载视图时全屏播放一个简单的mp4文件。代码如下: 我没有收到任何视频,但我知道正在调用viewDidLoad,并且存在一个视图 // // FirstViewController.m // WSTR Finale // // Created by Chris Muench on 10/6/14. // Copyright (c) 2014 World Series of Team Roping. All rights reserved. // #import "WatchLi

我试图在加载视图时全屏播放一个简单的mp4文件。代码如下:

我没有收到任何视频,但我知道正在调用viewDidLoad,并且存在一个视图

//
//  FirstViewController.m
//  WSTR Finale
//
//  Created by Chris Muench on 10/6/14.
//  Copyright (c) 2014 World Series of Team Roping. All rights reserved.
//

#import "WatchLiveViewController.h"
#import <MediaPlayer/MediaPlayer.h>

@interface WatchLiveViewController ()

@end

@implementation WatchLiveViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    NSURL *movieURL = [NSURL URLWithString:@"http://download.wavetlan.com/SVV/Media/HTTP/H264/Talkinghead_Media/H264_test1_Talkinghead_mp4_480x360.mp4"];
    MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
    moviePlayer.controlStyle = MPMovieControlStyleFullscreen;
    moviePlayer.view.transform = CGAffineTransformConcat(moviePlayer.view.transform, CGAffineTransformMakeRotation(M_PI_2));
    UIWindow *backgroundWindow = [[UIApplication sharedApplication] keyWindow];
    [moviePlayer.view setFrame:backgroundWindow.frame];
    [backgroundWindow addSubview:moviePlayer.view];
    [moviePlayer play];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
//
//FirstViewController.m
//WSTR结局
//
//Chris Muench于2014年6月10日创作。
//版权所有(c)2014年世界套索队系列赛。版权所有。
//
#导入“WatchLiveViewController.h”
#进口
@接口WatchLiveViewController()
@结束
@LiveViewController的实现
-(无效)viewDidLoad{
[超级视图下载];
//加载视图后,通常从nib执行任何其他设置。
NSURL*电影URL=[NSURL URLWithString:@”http://download.wavetlan.com/SVV/Media/HTTP/H264/Talkinghead_Media/H264_test1_Talkinghead_mp4_480x360.mp4"];
MPMoviePlayerController*moviePlayer=[[MPMoviePlayerController alloc]initWithContentURL:movieURL];
moviePlayer.controlStyle=mpmoviecontrolstyle全屏;
moviePlayer.view.transform=CGAffineTransformConcat(moviePlayer.view.transform,CGAffineTransformMakeRotation(M_PI_2));
UIWindow*backgroundWindow=[[UIApplication sharedApplication]keyWindow];
[moviePlayer.view setFrame:backgrounddow.frame];
[背景视图添加子视图:moviePlayer.view];
[电影播放器播放];
}
-(无效)未收到记忆警告{
[超级记忆警告];
//处置所有可以重新创建的资源。
}
@结束

我想你错过了
prepareToPlay
。试着这样做:

...
[moviePlayer prepareToPlay];
[moviePlayer play];
请尝试以下代码:

MPMoviePlayerViewController *mpvController = [[MPMoviePlayerViewController alloc] initWithContentURL:movieURL];
mpvController.moviePlayer.controlStyle = MPMovieControlStyleFullscreen;
mpvController.moviePlayer.scalingMode = MPMovieScalingModeFill;
mpvController.view.transform = CGAffineTransformConcat(mpvController.view.transform, CGAffineTransformMakeRotation(M_PI_2));
[self presentViewController:mpvController animated:NO completion:^{
    [mpvController.moviePlayer play];
}];

它在没有变换的情况下工作吗?您可能应该考虑使用ButoStWiel.Frand而不是.Frand避免重复偏移。我确信您知道“代码>框架< /COD>和<代码>界限< /代码>属性是未定义的(甚至可以是<代码> CGRectNull < /代码>)在您将实际的视图控制器放入导航堆栈之前,
-viewDidLoad
方法肯定在以前被调用过。我尝试将其更改为viewdidappease,现在我只得到一个没有任何视频控制器或视频的大黑屏我试过了,但它仍然无法播放…只是一个空的视图我也尝试将其更改为ViewDidDisplay,现在我得到了一个没有任何视频控制器或视频的大黑屏。您可以在纵向播放吗?是的,注释掉mpvController.view.transform行