iOS:Vimeo视频播放器

时间:2011-12-14 11:57:33

标签: objective-c ios vimeo

我正在尝试使用以下代码在iOS UIWebView中播放Vimeo视频:

NSString *urlString = [NSString stringWithFormat:@"http://player.vimeo.com/video/%@?title=0&byline=0&portrait=0", video.serviceId];
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlString]]];

在iPhone 4上工作正常但在iPhone 3GS上工作有时很好,但有时候Vimeo播放器的响应如下:

Vimeo response

有人能告诉我如何在iOS上在所有设备上播放Vimeo视频吗?

EDIT1:

我测试了用户代理信息,并且两个设备(iPhone 4和iPhone 3GS)都在发送相同的用户代理:

  

Mozilla / 5.0(iPhone; CPU iPhone OS 5_0_1,如Mac OS X)AppleWebKit / 534.46(KHTML,如Gecko)Mobile / 9A405

此外,我尝试在iPhone 3GS上播放Safari浏览器中的视频,这会产生与UIWebView相同的错误。

2 个答案:

答案 0 :(得分:1)

3gs支持的H.264格式很少。这表明可能有H.264格式的视频可能无法在3gs上播放,并抛出该特定错误。 (参见,http://www.clone2go.com/tutorials/convert-dvd-movie-to-iphone-3gs.phphttp://www.niallkennedy.com/blog/2010/07/h264-video.html

但为什么它有时候会起Vimeo的作用,有时候不起作用?不知道。我的猜测是他们想要限制他们的内容 - 甚至改变H.264格式 - 取决于带宽。因此,我会进行一些测试,以确切了解3G和4上接收的H.264格式,并在此处发布结果,如果有任何有趣的话。

答案 1 :(得分:1)

从UIWebView发出的Web请求不会在用户代理字符串中包含单词“Safari”,因此,Vimeo可能无法确定哪个移动浏览器并检索正确的视频格式。

您可以尝试用Mobile Safari的一个替换UIWebView的用户代理:here您会发现如何更改它(或只是谷歌它)。如果您愿意,还可以阅读this article非常有趣的UIWebView和Mobile Safari中的用户代理如何工作。