我设置了以下代码来在我的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上的第一篇文章,所以如果我没有提供足够的信息或者遗漏了一些明显的东西,请原谅!非常感谢你!
答案 0 :(得分:2)
assetWithURL:
通常(但并非总是)与指向设备上已有文件的URL一起使用,通常在捆绑中。如果您使用外部网址(例如互联网上的网址),则网址必须解析为AVPlayer
可以理解的格式的视频。 YouTube网页的网址无效。一般情况下,您无法在AVPlayer
。
查看Apple的document和YouTube上的this video。
编辑:
一些开发者使用this library在他们的应用中播放YouTube视频。另一种选择是使用UIWebView
。