在mediaelement.js音频播放器上,我在进度条和“持续时间”指示器中获得NaN
,但只有在IE 11中查看时,在Firefox 26中一切正常。这似乎意味着它不是服务器问题,但我见过的其他报告说它是。
任何人都有任何想法,如果它可能是服务器问题我需要查看什么(Apache服务器)?
@BiscuitBaker的以下代码将重现此问题:
$('document').ready(function() {
$('video,audio').mediaelementplayer({
audioWidth: 440,
audioHeight: 30,
// The file contains an audio watermark, so I've set the volume to 0 as I don't want this to be seen as self promotion.
startVolume: 0
});
});
.container {
margin-top: 50px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- Standard mediaelement.js files, unmodified -->
<link rel='stylesheet' href='http://beta.musicvine.net/wp-content/themes/theMusicVine/library/js/mediaelement/mediaelementplayer.css' type='text/css' media='all' />
<script src="http://beta.musicvine.net/wp-includes/js/mediaelement/mediaelement-and-player.min.js"></script>
<div class="container">
<audio controls src="http://beta.musicvine.net/wp-content/uploads/edd/2015/02/joyful-moments-adi-goldstein-preview.mp3"></audio>
</div>
答案 0 :(得分:2)
这似乎是由Internet Explorer中的问题引起的,如果服务器没有使用Content-Length
标头响应,则duration
元素的audio
属性为{{1 }}。您可以通过在开发人员工具控制台中运行以下代码来查看此内容。
Infinity
以下是服务器响应标头的屏幕截图。
但是,如果我用响应document.querySelector('audio').duration
标题的服务器替换音频网址,例如此标题,则它可以正常工作。
Content-Length
archive.org文件的标题截图。
我还通过在本地服务器上提供文件进行了双重检查,并且在提供https://archive.org/download/TESTTEST_174/asdfasdfasdfdfdszadfdsa.mp3
时它可以正常工作。
所以你的问题显然是服务器配置问题。实际上,您网站上静态文件的所有响应标头都缺少Content-Length
标头。我不知道是什么原因导致Apache服务器不包含此标头,可能是Content-Length
规则,但这是导致问题的原因。