视窗媒体播放器发出网页上的音频两个请求(Window Media Player issues two

2019-07-04 17:45发布

我在网页中使用Windows Media Player。 我有11版安装所以这是我现在用的测试版本。 该播放器嵌入此HTML网页上:

<OBJECT id='MS_mediaPlayer' width="400" height="45" classid='CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6' 
  codebase='http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701'
  standby='Loading Microsoft Windows Media Player components...' type='application/x-oleobject'>
  <param name='autoStart' value="false">
  <param name='uiMode' value="invisible">
  <param name='loop' value="false">
</OBJECT>

我打电话的JavaScript:

  MS_mediaPlayer.URL = "SomeAudioFile.mp3"
  MS_mediaPlayer.controls.play();

当我看到提琴手 ,我可以看到玩家实际下载“SomeAudioFile.mp3”两次。 有一些设置我有错吗? 我试图设置“自动播放”,以真实,避免调用“播放()”。 得到了相同的结果 - 两个下载。

UPDATE:第一个请求的用户代理是“Windows的媒体播放器/ 11.0.5721.5268”。 第二个拥有“的Mozilla / 4.0(兼容; MSIE 7.0; Windows NT的5.1; GTB6; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)”。 貌似运行浏览器相同的请求第二次。 不知道为什么

有任何想法吗?

UPDATE(10年4月1日):
还是无解。

  • 我彻底调试的JS,并且只有一个呼叫MediaPlayer.URL='.....'来设置的音频文件。 闲来无事触发媒体播放器加载该文件,并没有其他地方引用页面上的音频文件。
  • 另一个有趣的事实是,当我在我的开发网络服务器上本地运行的浏览器,这不会发生(音频的双重负荷)。 但在同一Web服务器等远程请求生成双音频装载。
  • 我相信我消除了特定的IE版本或媒体播放器版本的任何关联。 这种情况与IE6-8和WM9-12

Answer 1:

你必须仔细检查的要求。 有时候,你会看到一个媒体播放器,使两个请求,因为他们使用HTTP范围请求(而不是请求整个文件)。 寻找一个“范围”请求头。 还要检查,以确保没有请求的使用头的方法,因为这只是检索服务器的响应头。

此外,如果任一环节中显示为中止在Fiddler会话列表(“不输入图标,红色圆圈中间有一条线”)则意味着客户端关闭中间的请求。 如果组件开始下载,中止它可能会发生,然后重新启动它。 为什么会这样做,我不知道。

你可以尝试寻找使用WMP,看看你是否看到他们两个请求其他网站。



Answer 2:

请参阅本文这就解释了第一个请求的底部Windows Media Player的“嗅探”,以确定文件类型,而第二个要求是真实的请求。

https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/226315f4-1271-4694-9a0d-68da9a1414cb/media-player-dlna-request-does-not-carry-authorization-header?forum= mediafoundationdevelopment

仍在研究如何使用通用的处理程序,不公开的文件名信息的此位....



文章来源: Window Media Player issues two requests for the audio on web page