我开始了一个空白的tvos项目并创建了以下代码:
- (void)viewDidLoad { [super viewDidLoad]; AVPlayer *avPlayer = [AVPlayer playerWithURL:[NSURL URLWithString:@"http://www.myurl.com/myvideo.mp4"]]; AVPlayerLayer *avPlayerLayer = [AVPlayerLayer playerLayerWithPlayer:avPlayer]; avPlayerLayer.frame = CGRectMake(0,self.view.frame.size.width,self.view.frame.size.height); [self.view.layer addSublayer:avPlayerLayer]; [avPlayer play]; }
一旦应用加载,模拟器中就不会发生任何事情。没有视频,没有,只是一个空白的半透明屏幕在我的苹果电视模拟器。
从HTTP来源为Apple TV应用程序启动应用程序播放示例视频的正确方法是什么?
解决方法
我只是将代码粘贴到我的tvOS示例项目中,替换了URL并运行它。
什么都没发生。那么,除了有一个日志条目告诉我App Transport Security阻止了我的URL请求的事实除外。
所以我去了Info.plist,disabled ATS,在下一次发布的时候,视频就出现了。
因此,如果您还使用非HTTPS网址,那么您很可能遇到这个问题,这可以通过使用HTTPS URL,完全禁用ATS或在Info.plist中允许特定的非HTTPs URL来轻松修复。
我使用this video进行测试。