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