分别实现网页播放mp3、flv、wmv、Flash,代码兼容FireFox

 现手头上的一个项目需要播放mp3音频及FLV与WMV格式的视频文件,在网上找了不少资料,发现都是调用系统自带的播放器,而且许多都不能正常的调用。经过自己不断的调试、摸索,终于解决了所有问题,完成的效果还是比较满意的!~

1、mp3音频文件的播放

正常情况下应该是调用系统自还的播放器,但考虑到代码的简洁性和对系统的最大兼容性,我使用了Google Reader提供的网页多媒体播放器,其实就一Flash文件,如果不想写额外代码,直接调用它

其中yourMp3Addr.mp3为mp3的文件地址,但因为需要访问google的网站,考虑到性能与稳定性,所以我把swf文件直接下载到了本地放在了项目中,直接在项目中使用相对地址来访问它,最终使用的代码如下:
document.write('');

用JS写了个方法调用,简化代码,方便重复调用,值得注意的是该播放器不但可以播放mp3音频文件,也可以播放flv的视频文件,只需将参数名audioUrl更改为videoUrl,即
播放mp3音频文件:audioUrl=yourMp3Addr.mp3
播放Flv视频文件:  videoUrl=yourFlvAddr.flv
如果想加载完成后自动播放,只需在地址后加上&autoPlay=true参数即可
2、flv
虽然Google Reader播放器也可以播放,但它的外观样式、播放器按钮及加载图片等貌似均不能设置,于是使用的是另一Flv播放器,地址为:http://code.google.com/p/flvplayer/ 里面有相关的使用文档,具体怎么样看文档的,我自己的调用代码是:

function flvPlayer(flv_path, ctxPath, flv_title, flvWidth, flvHeight) { flv_title = flv_title || "/u70b9/u51fb/u64ad/u653e/u89c6/u9891"; flvWidth = flvWidth || 430; flvHeight = flvHeight || 380; var swfPath = ctxPath.concat("/scripts/player_flv_maxi.swf"); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); }

3、wmv
wmv视频文件的播放是我花费时间最长的,因为在IE下很简单的,随便在网上找段调用系统内置播放器的代码就可以搞定,但我想兼容FireFox,所以不断的尝试,不断的测试,后来我发现了一个非常BT的东西,在FF下调用系统自带的如windows media player播放器时,加载完成后就一边框,什么也没有,但是,如果事件将这播放器放在一隐藏的div中,在系统加载完成后再将该div显示便可正常的播放文件了,主要的JS代码:

function mediaPlayer(mediaURL, ctxPath, mediaType, mediaTitle, mediaWidth, mediaHeight) { if(...) { ... } else { document.write(''); } }

很普通的调用系统自带的windows media player播放器,这个都没有什么,页面调用代码,如下:

页面加载完成后将该div显示出来

var noFlvMedia = document.getElementById("noFlvMedia"); if(null != noFlvMedia) { noFlvMedia.style.display = ''; }

虽然调用系统自带的播放器有些局限性,但最起码已经实现了在大部分系统中正常播放功能

4、flash
这没什么好说的,直接贴代码:

function flashPlayer(flash_path, swfWidth, swfHeight) { document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); }


另:以上代码均为项目中使用的代码,均能正常运行、显示。本人操作系统及浏览器版本如下
    操作系统:windows 7
    浏览器:   IE 8.0.1068.0
                   FireFox 3.0.11

 

你可能感兴趣的:(JavaScript,HTML)