9

好的,所以我环顾了人们使用 vimeo 遇到的大多数其他问题,我认为他们没有遇到我遇到的同样问题。

当我在 iPhone 和 iPad 上的 Safari 应用程序上打开 vimeo 视频时,它们都可以正常工作,没有问题。

现在我创建了一个 iPhone 应用程序,它有一个 UIWebView 并加载了一个 vimeo 播放器视频,它也可以正常工作。

问题是如果我现在在我的 iPad 上安装相同的应用程序,vimeo 播放器拒绝加载视频,它只是挂起并且微调器继续旋转但视频不会加载。

但是,现在我在那之后所做的是创建一个基本应用程序,它将 UIWebView 中的 vimeo 播放器 URL 作为原生 iPad 应用程序加载,而不是调整大小或“2x”以适应 iPad 的 iPhone 应用程序。令人惊讶的是,这工作得很好。

所以现在我很困惑......如果iPad没有运行为iPad设计的应用程序,为什么它不会播放vimeo视频?幕后是否有一些特殊的魔法可能会打破这一点?

我在这里不知所措,任何帮助将不胜感激

4

2 回答 2

1

实现委托方法:shouldStartLoadWithRequest然后在该方法中检测请求的 URL 是否为VIDEO类型,如果是,请按照以下链接中给出的代码对我有用:

在 Iphone 应用程序中从服务器播放视频文件

这在播放任何视频时都会很好。

于 2012-05-11T17:29:26.107 回答
1

问题可能出在与 Apple 设备上的 Safari 不同的用户代理上:UIWebView 发送了一些无效字符串,导致 Vimeo(有时是 YouTube)中断。

幸运的是,您可以使用以下代码覆盖应用程序的用户代理(C#,如果不够干净,请告诉我):

NSDictionary dictionary = NSDictionary.FromObjectAndKey(new NSString("Mozilla/5.0 (" + (UIDevice.CurrentDevice.Model.Contains("iPad") ? "iPad" : "iPhone" ) +  "; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25"), new NSString("UserAgent"));
NSUserDefaults.StandardUserDefaults.RegisterDefaults(dictionary);

这使得视频播放得很好。

于 2013-09-19T18:56:00.543 回答