iOS AVPlayer不会玩

时间:2014-08-24 20:20:00

标签: ios xcode avplayer

我设置了以下代码来在我的iOS应用中播放视频,但它只是不播放。该应用程序编译并运行,但所有我得到一个红色框架我定位它。调试时,我发现程序甚至没有进入最后一行[玩家玩]。此外,视频在UIWebView中运行良好。

NSString *streamingString = [NSString stringWithFormat:@"http://youtu.be/...."];

AVAsset *asset = [AVAsset assetWithURL:[NSURL URLWithString:streamingString]];
AVPlayerItem *playerItem = [[AVPlayerItem alloc] initWithAsset:asset];
AVPlayer *player = [AVPlayer playerWithPlayerItem:playerItem];
AVPlayerLayer *layer = [AVPlayerLayer playerLayerWithPlayer:player];

[layer setPlayer:player];

[layer setFrame:CGRectMake(50, 50, 400, 300)];
[layer setBackgroundColor:[UIColor redColor].CGColor];
[layer setVideoGravity:AVLayerVideoGravityResizeAspectFill];

[self.view.layer addSublayer:layer];

[player play];

我是一名新程序员,这是我在Stackoverflow上的第一篇文章,所以如果我没有提供足够的信息或者遗漏了一些明显的东西,请原谅!非常感谢你!

1 个答案:

答案 0 :(得分:2)

assetWithURL:通常(但并非总是)与指向设备上已有文件的URL一起使用,通常在捆绑中。如果您使用外部网址(例如互联网上的网址),则网址必须解析为AVPlayer可以理解的格式的视频。 YouTube网页的网址无效。一般情况下,您无法在AVPlayer

中播放YouTube视频

查看Apple的document和YouTube上的this video

编辑:

一些开发者使用this library在他们的应用中播放YouTube视频。另一种选择是使用UIWebView