使用javascript在网页中播放声音

使用js播放声音需要使用bgsound标签和embed标签,分别用于IE和FF、Chome。

由于播放声音文件即时加载的话第一次会有延迟,所以先要对声音文件进行一次预加载,并设置初始状态为静音:

//浏览器判断对象 
        browserName = navigator.userAgent.toLowerCase();

        browser = {
            version: (browserName.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [0, '0'])[1],
            safari: /webkit/i.test(browserName) && !this.chrome,
            opera: /opera/i.test(browserName),
            firefox: /firefox/i.test(browserName),
            ie: /msie/i.test(browserName) && !/opera/.test(browserName),
            mozilla: /mozilla/i.test(browserName) && !/(compatible|webkit)/.test(browserName) && !this.chrome,
            chrome: /chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName)
        };

        //播放声音对象/*注:如果FF安装了mediawrap插件则能使用bgsound播放*/
        playSound = {};

        //预加载声音
        playSound.init = function (id, media) {
            if (browser.ie) {
                document.write('<bgsound id="fjps_bg_' + id + '" volume="-5000" loop="1" src="' + media + '">');
            }
            else {
                //document.write('<span id="fjps_sp_' + id + '"><bgsound volume="-1000000" id="fjps_bg_' + id + '" loop="1" src="' + media + '"></span>');
                document.write('<span id="fjps_sp_' + id + '"><embed width="0" height="0" id="fjps_bg_' + id + '" autostart="1" pluginspage="http://www.microsoft.com/windows/windowsmedia/" playcount="1" volume="-9900" mediawrapchecked="true" src="' + media + '" type="application/x-mplayer2" splayername="BG" tplayername="NewWMP"></span>');
            }
        };

然后建一个play方法用于播放:

//播放声音
    playSound.play = function (id, media) {
        if (browser.ie) {
            var sound = document.getElementById("fjps_bg_" + id);
            sound.volume = 1;
            sound.src = sound.src;
        }
        else {
            var sound = document.getElementById("fjps_sp_" + id);
            //sound.innerHTML = '<bgsound volume="1" id="fjps_bg_' + id + '" loop="1" src="' + document.getElementById("fjps_bg_" + id).src + '" />';
            sound.innerHTML = '<embed width="0" height="0" id="fjps_bg_' + id + '" autostart="1" pluginspage="http://www.microsoft.com/windows/windowsmedia/" playcount="1" volume="0" mediawrapchecked="true" src="' + document.getElementById("fjps_bg_" + id).src + '" type="application/x-mplayer2" splayername="BG" tplayername="NewWMP">';
        }
    };

转载于:https://www.cnblogs.com/joe_sky/archive/2010/12/17/1909095.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值