【问题标题】:How to play a youtube video on iphone, not in fullscreen如何在 iPhone 上播放 youtube 视频,而不是全屏
【发布时间】:2012-08-14 06:22:33
【问题描述】:

我想在我的 iPhone 应用中的视图或网络视图中播放 YouTube 视频。 我知道可以在 iPad 上播放内嵌视频,但我无法在 iPhone 上播放。视频一开始播放,电影播放器​​就会全屏显示,所以我的 UI 不可见。

有谁知道如何克服这个限制?应用商店中是否还有其他应用可以做到这一点?

谢谢!

【问题讨论】:

  • Checkout Deja - 该应用程序做到了。但应用程序实现这一目标的方式相当复杂,恕我直言,违反了 Appstore 提交指南/HIG 规范。尽管如此,它还是获得了批准。
  • 谢谢,我签到了,看起来非常令人印象深刻。任何想法如何实现它?
  • 是的,你不会喜欢它的:D ...该应用实际上是使用伪造的用户代理(自定义 HTTP 连接)从 YouTube 获取视频。然后它实例化一个本地 HTTP 服务器。设置完成后,它会启动 MPMoviePlayerController,该控制器直接连接到本地服务器,该服务器由自定义 HTTP 连接提供,从 YouTube 下载视频。
  • 其实听起来很聪明。我不知道我是否会使用它,但仍然是一个可靠的想法。你是怎么想到的?
  • 我使用 Charles Proxy 的强大功能来查找这些细节。

标签: iphone webview youtube


【解决方案1】:

使用此代码将您的管添加到您的应用程序中。

为此,您需要在视图中设置 web 视图。 然后在UIWebView 实例上调用loadHTMLString:baseURL: 方法,使用一些精心构建的HTML,其中包含YouTube 嵌入式播放器代码sn-p 和一些支持HTML,以确保视频缩略图正确显示。将基本 URL 设置为您网站的 URL(它在这里不做任何事情 - 通常UIWebView 使用它来正确处理相对 URL 链接)。

NSString *youTube = @"<html><head>
<meta name = \"viewport\" content = \"initial-scale = 1.0, user-scalable = no, width = 212\"/></head>
<body style=\"background:#F00;margin-top:0px;margin-left:0px\">
<div><object width=\"212\" height=\"172\">
<param name=\"movie\" value=\"http://www.youtube.com/v/oHg5SJYRHA0&f=gdata_videos&c=ytapi-my-clientID&d=nGF83uyVrg8eD4rfEkk22mDOl3qUImVMV6ramM\"></param>
<param name=\"wmode\" value=\"transparent\"></param>
<embed src=\"http://www.youtube.com/v/oHg5SJYRHA0&f=gdata_videos&c=ytapi-my-clientID&d=nGF83uyVrg8eD4rfEkk22mDOl3qUImVMV6ramM\"
type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"212\" height=\"172\"></embed>
</object></div></body></html>";

[webView loadHTMLString:youTube baseURL:[NSURL URLWithString:@"http://www.your-url.com"]];

更多参考:YouTube

【讨论】:

  • 这无助于阻止视频全屏显示。我想要做的是让视频在 iPhone 上作为我的 UI 的一部分播放,而不是占据整个屏幕。
猜你喜欢
  • 2013-07-28
  • 1970-01-01
  • 2010-11-19
  • 1970-01-01
  • 2020-04-11
  • 1970-01-01
  • 1970-01-01
  • 2014-10-21
  • 2012-12-13
相关资源
最近更新 更多