我如何使用 javascript 在 IE7、IE8、Safari 和其他支持的浏览器中播放 .Wav 声音

Posted

技术标签:

【中文标题】我如何使用 javascript 在 IE7、IE8、Safari 和其他支持的浏览器中播放 .Wav 声音【英文标题】:how I play .Wav sound in IE7,IE8,Safari and other supported browser using javascript 【发布时间】:2013-04-04 06:11:17 【问题描述】:

成功后我需要播放 .Wav 声音。我试过这个,但它在 IE7、IE8 和 Safari 中不起作用,这里有什么问题?

var currentFile = "";
function playAudio() 
        var oAudio = document.getElementById('myaudio');

        // See if we already loaded this audio file.
        if (jQuery("#audiofile").val() !== currentFile) 

            oAudio.src = jQuery("#audiofile").val();
            currentFile = jQuery("#audiofile").val();

        

            var test = jQuery("#myaudio");
            test.src = jQuery("#audiofile").val();
            oAudio.play();   
    


    if (Modernizr.audio) 
            if (Modernizr.audio.wav) 
               jQuery("#audiofile").val("sound/smw_save_menu.wav"); 

            
            if (Modernizr.audio.mp3) 
                jQuery("#audiofile").val("sound/mario_coin.mp3");

            
        
        else 
          jQuery("#html5Audio").hide();
          jQuery("#OldSound").html('<embed src="sound/smw_save_menu.wav" autostart=false width=1 height=1 id="LegacySound" enablejavascript="true" >');

        

成功后我需要播放 .Wav 声音。我试过这个,但它在 IE7、IE8 和 Safari 中不起作用,这里有什么问题?

【问题讨论】:

如果你有比这更好的代码,请给我任何支持的代码 【参考方案1】:

我认为进入您的#OldSound 容器的 HTML 需要更接近于这样的内容:

var flashAudioHTML =
'<object data="sound/smw_save_menu.wav"    other_attrs...>' +
    '<embed src="sound/smw_save_menu.wav"   other_attrs...>' +
'</object>';
jQuery("#OldSound").html( flashAudioHTML );

【讨论】:

有关通过 JavaScript 创建 Flash 元素的更多编程控制,请查看SWFObject library。 对不起@Impirator 它不工作的声音没有播放我正在使用你的代码:( 你有autostart="false"的任何原因?您不希望在创建和加载 Flash 对象后立即播放声音吗?还是你告诉它以其他方式开始? 我再做一次 autostart="True" 但同样的事情正在发生

以上是关于我如何使用 javascript 在 IE7、IE8、Safari 和其他支持的浏览器中播放 .Wav 声音的主要内容,如果未能解决你的问题,请参考以下文章

如何在 IE7 中使空的锚标记可点击?

JavaScript:如果它处于 IE7 或 IE8 兼容模式,我可以检测到 IE9 吗?

您对在您的页面中包含 ie7.js 或 ie8.js 感觉如何?

强制 IE8 进入 IE7 兼容模式

在 IE7/IE8 中使用 :not() 伪类

IE5,IE6,IE7多版本共存JavaScript调试工具