如何解决在 Android/iOS 应用中播放受域限制的视频
我正在构建一个带有视频播放器的 Android 和 iOS 应用程序,我正在使用一个视频托管网站 (Wistia) 来播放我的视频。所有视频都受域限制,这意味着这些视频将在列出的域中播放。 视频在网络应用程序中正常播放(因为我们允许为该域播放视频)但我无法在我的 Android/iOS 应用程序中播放这些视频。
注意:当我从视频中删除域限制后,我就可以在我的应用中播放视频了。
有人可以帮我找到我的 Android 应用的域吗?我应该在代码的什么地方定义它?
以下是 Wistia 嵌入代码:
<script src="https://fast.wistia.com/embed/medias/j4q2kxdfd4.jsonp" async></script><script src="https://fast.wistia.com/assets/external/E-v1.js" async></script><span class="wistia_embed wistia_async_j4q2kxdfd4 popover=true popoverAnimateThumbnail=true" style="display:inline-block;height:84px;position:relative;width:150px"> </span>
谢谢。
解决方法
Wistia 是针对网站的 - 他们过去确实有一个 iOS 移动应用程序,但我相信这更多地针对联系人所有者,并且不再受支持,无论哪种方式。
他们在文档中强调了这一点(在撰写本文时):
移动操作系统支持
大多数移动设备仅支持 HTML5 播放,这是 Wistia 移动设备的默认设置。这包括 Android 手机和平板电脑(4.1 及更高版本),以及 iPhone 和 iPad 等 iOS 设备。
要在应用程序中包含 Wistia,我看到 Wistia 推荐的最新方法是使用 WebView 和标准嵌入代码。这将允许您使用您设置的常用域限制。
域检查功能最有可能使用 HTTPS 请求中的“来源”或“引用者”字段来确定使用嵌入代码的站点。它可能使用比这更复杂的机制,但是如果是这种情况,我认为您必须直接联系 Wistia 并寻求支持。
假设是这种机制,您可以在浏览器检查器中查看请求标头。例如,以一个使用 Wistia 的网站查看请求,您将看到如下内容:
我隐藏了确切的网站名称,但来源和引荐来源是托管视频的网站的同一顶级域名。
移动应用程序上的网站将以相同的方式工作,但如果您在 Android 应用程序中使用 WebView,则需要自己设置字段,您可能需要进行试验,因为似乎有不同的方法,但这是一个好的起点:https://stackoverflow.com/a/5342527/334402
如果您将这些标头设置为包含在您的允许域集中的域,并且视频仍然无法播放,那么我认为您需要直接联系 Wistia 支持。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。