MP3 Flash Fallback on Opera & FireFox using MediaElement
MP3 Flash Fallback on Opera & FireFox using MediaElement.js
我正试图将mediaelement.js添加到我的网站中,为特定页面上的任何MP3链接提供一个播放器。IE 9和Chrome 11(支持HTML5 MP3)的设计运行良好,但Opera 11和FireFox 4的闪存回退存在问题。点击页面上的任何MP3链接都会使用媒体元素播放器的.setSrc()方法来更改播放器的来源,但在Opera和FF中,第一次调用此方法时,会返回错误"this.media.setSrc不是函数"。之后对函数的任何调用都可以正常工作。
另一个问题是,在包含播放器的元素被隐藏为"display:none",然后再次显示后,调用.pause()函数将产生错误"this.pluginApi.pauseMedia不是函数"。在抛出该错误之后,后续调用可以正常工作,直到元素被隐藏并再次显示为止。
以下是相关代码,如有任何帮助,我们将不胜感激。
<script type="text/javascript" src="../js/mejs/mediaelement-and-player.min.js"></script>
<script type="text/javascript" src="../js/media.js"></script>
<div id="mediaPlayerFooter" class="mediaPlayerWrapper">
<div id="mediaPlayer">
<audio id="mp3Player" src="mp3/null.mp3" autoplay="autoplay" type="audio/mp3"></audio>
</div>
<div id="closeButtonWrapper"><p><a id="closeButton" href="#close">Close</a></p></div>
</div>
$(function() {
// Show the footer, load the MP3 file, and play.
$("a[href*='.mp3']").click(function(e) {
e.preventDefault();
PlayMP3($(this).prop('href'));
});
// Stop the MP3 playback and close the footer.
$('#closeButton').click(function(e) {
e.preventDefault();
ClosePlayer();
});
});
function CreatePlayer() {
var player = new MediaElementPlayer('#mp3Player',{
audioWidth: 250,
startVolume: 1.0
});
return player;
}
function PlayMP3(sourceUrl){
$('#mediaPlayerFooter').slideDown(750);
var player = CreatePlayer();
try {
player.pause();
player.setSrc(sourceUrl);
player.load();
player.play();
}
catch(err)
{
txt="There was an error loading the MP3. ";
txt+="Error message: " + err.message;
console.log(txt);
}
}
function ClosePlayer(){
var player = CreatePlayer();
player.pause();
$('#mediaPlayerFooter').slideUp(750);
}
您还需要添加"flashmediaelement.swf"。
相关文章:
- 为什么这在IE中的工作方式与在Firefox中不同
- 如何通过引用var Using DataTables来进行分页或排序
- JS可以在Chrome中工作,但不能在Firefox中工作
- createElement("a") - FireFox JavaScript
- 为什么javascript:void(0)在Firefox中不起作用
- Facebook登录按钮没有'不能在Firefox上工作
- jpm的默认Firefox路径没有'不起作用
- 重载JS'firefox中的对象原型
- Ajax调用在Firefox中不会自动响应
- JS在firefox中无法正常工作
- firefox插件和dev/panel之间的通信
- IE/Chrome中未定义的函数,但Firefox中没有
- ascii输入键通过firefox中的javascript返回0
- 在firefox和chrome中的左侧显示iframe滚动条
- html5 drawImage适用于firefox,而不是chrome
- angularjs$valid-on-dates在firefox中报告错误
- 您可以使用JavaScript和Firefox扩展来更改现有页面吗
- firefox and radialgradient (using html5 canvas)
- Firefox Extension: File Read/Write using OS.File.jsm
- MP3 Flash Fallback on Opera & FireFox using MediaElement