Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript在IE7、IE8、Safari和其他受支持的浏览器中播放.Wav声音_Javascript_Jquery_Audio_Playback - Fatal编程技术网

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

如何使用javascript在IE7、IE8、Safari和其他受支持的浏览器中播放.Wav声音,javascript,jquery,audio,playback,Javascript,Jquery,Audio,Playback,我需要在成功后播放.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

我需要在成功后播放.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中不起作用。这里有什么问题?

我认为进入旧声音容器的HTML需要更接近以下内容:

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" >');

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

如果您的代码比这更好,请给我任何支持的代码。要通过JavaScript对创建Flash元素进行更多编程控制,请查看。抱歉@Impirator其不工作声音不播放我正在使用您的代码:您为什么选择autostart=false?你不想在Flash对象创建和加载后立即播放声音吗?或者你是在告诉它以其他方式开始吗?我再次这样做autostart=True,但同样的事情正在发生