Asp.net 2.0 Web Pages_play文件mp3,mp4

时间:2018-01-12 04:37:32

标签: javascript asp.net html5

我想使用mp3 and mp4html5JavaScript在Pages中播放jQuery个文件。 如果文件在播放文件的项目中有效,但如果文件在我的计算机上的另一个文件夹中(E,D或下载...),则它们不会运行。
错误:

  

错误:searchms.aspx:1491未捕获(在promise中)DOMException:该元素没有受支持的源。

(play.click(function (e) { e.preventDefault(); song.play();  // this error

1 个答案:

答案 0 :(得分:0)

自Chrome 50起,对play()(或audio)元素的video调用会返回Promise个实例(更多详细信息可在this reference中找到)。您应该为成功播放添加检测,并且Promise实例已完成,如下例所示:

<强> HTML

<audio id="song" src="../path/to/audio/file.mp3" />
<button id="play">Play</button>

<强> JS

var play = $('#play'); // example
play.click(function (e) { 
    e.preventDefault(); 
    var playback = document.querySelector('#song').play();
    if (playback !== undefined) {
        playback.then(function() {
            // do something
        }).catch(function(error) {
            // do something else
        });
    }
});

另一个例子可以在HTMLMediaElement.play() Returns a Promise Sample中找到。

如果它变为CORS问题,请尝试将crossorigin属性设置为匿名属性,然后确保从服务器返回的响应标头包含Access-Control-Allow-Origin: *

var song = document.getElementById('song');
song.setAttribute('crossorigin', 'anonymous');

// or this:
song.crossOrigin = 'anonymous';

相关问题:

DOMException: Failed to load because no supported source was found