我正在try 使用MPMoviePlayerController来传输一些youTube视频,但我遇到了一些问题.我使用的代码非常简单,我可以玩.通过将URL传递到initWithContentURL来播放m4v视频.当我启动电影播放器时,播放器出现了,但大约20秒后就消失了.当我在模拟器中try 时,我得到一个警告视图,表明服务器配置不正确.为了从谷歌获得特定类型的视频源,我需要通过URL传递一个参数吗?

NSURL *videoURL = [NSURL URLWithString:@"http://www.youtube.com/v/HGd9qAfpZio&hl=en_US&fs=1&"];
MPMoviePlayerController *moviePlayer;
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];

[moviePlayer play];

我还try 了以下URL

我还看到了参数&format=1,并试图将其添加到两个字符串的末尾,但没有成功.

推荐答案

在你自己的应用程序中播放youtube视频的唯一方法是从youtube为你想播放的电影创建一个带有嵌入标签的UIWebView,作为UIWebView's内容.UIWebView将检测到嵌入的对象是Youtube链接,web视图的内容将是视频的Youtube预览.当用户单击预览时,视频将在MPMoviePlayerController中显示.这是Muxecoid提供的链接(how to play youtube videos within an application)中描述的技术,据我所知,这是在应用程序中播放youtube视频的唯一方法.您仍然可以通过将Youtube URL传递到-[UIApplication openURL:]来启动Youtube应用程序,但这当然会关闭您自己的应用程序,这通常是不可取的.

不幸的是,没有办法直接播放MPMoviePlayerController的YouTube视频,因为YouTube不公开视频文件的直接链接.

Ios相关问答推荐

如何正确测试后台URLSessionDownloadTask?

iOS中的分段拾取器—手柄点击已 Select 的项目

构建iOS项目失败.我们运行了";xcodeBuild";命令,但它退出并返回错误代码65-expo reaction ative

Jenkins node 无法运行fastlane命令-未找到命令

如何修复使用EFCore和SQLite的.Net MAUI iOS应用程序上的当前应用程序不支持NullabilityInfoContext?

DllImport with .a file for iOS in MAUI

从视图模型中更新 EnvironmentObject

我可以使用同一个 Firebase 应用将多个 Flutter 应用添加到一个 Firebase 数据库吗?

Swift 共享数据模型在页面之间进行通信.这个怎么运作

如何告诉 SwiftUI 视图绑定到嵌套的 ObservableObjects

在 Xcode 5 中为超级视图添加间距约束

使用导航控制器在prepareForSegue中设置数据

如何用 Swift 圆化 UILabel 的边缘

Xcode 8:函数类型不能有参数标签 destruct 我的构建

如何缩小 UIImage 并使其同时变得清晰/锐利而不是模糊?

Select 器touchesBegan:withEvent:的覆盖方法具有不兼容的类型(NSSet,UIEvent)->()

判断从 JSON 字符串返回的 Objective-C 中的空值

使用 Swift 在一个 ViewController 中强制横向模式

iPhone:什么是 WWDR 中级证书?

Xcode 5 和 iOS 7:架构和有效架构