Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过身份验证后,HTML5视频无法在移动浏览器上运行_Html_Video_Mobile - Fatal编程技术网

通过身份验证后,HTML5视频无法在移动浏览器上运行

通过身份验证后,HTML5视频无法在移动浏览器上运行,html,video,mobile,Html,Video,Mobile,我使用的是标准的视频标签,比如so​​。我在SharePoint 2013环境中使用NTLM身份验证,基本身份验证作为后备。视频标签在所有支持HTML5视频的桌面浏览器上都可以正常工作 在移动浏览器上,一旦我对站点进行身份验证,视频标记就会失败。视频只是IIS 8提供的静态公共内容,不属于SharePoint的一部分。到目前为止,唯一的例外是android上的Firefox,它可以正常工作。我已经删除了NTLM auth,并仅切换到基本auth,结果相同 到目前为止,我已经测试过: iPad

我使用的是标准的视频标签,比如so
​​。我在SharePoint 2013环境中使用NTLM身份验证,基本身份验证作为后备。视频标签在所有支持HTML5视频的桌面浏览器上都可以正常工作

在移动浏览器上,一旦我对站点进行身份验证,视频标记就会失败。视频只是IIS 8提供的静态公共内容,不属于SharePoint的一部分。到目前为止,唯一的例外是android上的Firefox,它可以正常工作。我已经删除了NTLM auth,并仅切换到基本auth,结果相同

到目前为止,我已经测试过:

  • iPad iOS 8-Safari,Chrome
  • 安卓K&L-Chrome、Firefox
  • Windows Phone 8.1-IE
只要我没有通过视频所在主机的身份验证,视频就可以正常工作。因此,如果我在host1上,并且标记指向host2上的视频,那么视频将一直工作,直到我验证到host2为止

如果我正在进行基于表单的身份验证,视频也可以正常工作。就我而言,我使用的是微软TMG

我在Android Chrome上已经做到了这一点:它将首先发送一个0-1字节的范围请求,正如Chrome作为用户代理所期望的那样。未经验证时,它将以stagefright作为用户代理请求视频的其余部分。经过身份验证后,它不会发送任何内容,也无法播放视频。发生这种情况时,ADB logcat会返回:

E/StagefrightMetadataRetriever(183):无法为“剪下的视频url”实例化提取器

E/MediaResourceGetter(11682):配置数据源时出错

E/MediaResourceGetter(11682):java.lang.RuntimeException:setDataSource失败:状态=0x8000000

E/MediaResourceGetter(11682):位于android.media.MediaMetadataRetriever.\u setDataSource(本机方法)

E/MediaResourceGetter(11682):位于android.media.MediaMetadataRetriever.setDataSource(MediaMetadataRetriever.java:105)

E/MediaResourceGetter(11682):位于org.chromium.content.browser.MediaResourceGetter.configure(MediaResourceGetter.java:417)

E/MediaResourceGetter(11682):位于org.chromium.content.browser.MediaResourceGetter.configure(MediaResourceGetter.java:259)

E/MediaResourceGetter(11682):位于org.chromium.content.browser.MediaResourceGetter.extract(MediaResourceGetter.java:153)

E/MediaResourceGetter(11682):位于org.chromium.content.browser.MediaResourceGetter.extractMediaMetadata(MediaResourceGetter.java:125)

E/MediaResourceGetter(11682):无法配置元数据提取器

I/MediaFocusControl(744):AudioFocus请求来自android.media的AudioFocus()。AudioManager@2ff8d914org.chromium.media.MediaPlayerListener@23b9af5d

D/MediaPlayer(11682):无法在客户端打开文件,正在尝试服务器端

I/AwesomePlayer(183):setDataSource_l()

我的第一个想法是这是一个Chrome/Safari问题,但IE的行为方式相同,这就不太可能了。这是故意的吗?如果您有任何方向想知道发生了什么,我们将不胜感激。

试试这个 我有一个与您的问题相同的问题(E/StagefrightMetadataRetriever(183):无法为“剪下的视频url”实例化提取器)。在做了大量工作后,终于找到了纠正该问题的方法

在项目清单中添加此行

<uses-permission android:name="android.permission.INTERNET" />

错误

出错后