我想使用 html5
、JavaScript
和 jQuery
在 Pages 中播放mp3 and mp4
文件。如果文件位于播放文件的项目中,则可以工作,但如果文件位于我计算机上的另一个文件夹中(E,D或下载...(,则它们不会运行。
错误:
错误 :searchms.aspx:1491 未捕获(承诺中( DOMException:该元素没有受支持的源。
(play.click(function (e) { e.preventDefault(); song.play(); // this error
自 Chrome 50 起,对 audio
(或video
(元素的play()
调用返回Promise
实例(更多详细信息可在此参考中找到(。您应该添加检测以成功播放,并且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(( 返回一个承诺示例中找到。
如果它变成 CORS 问题,请尝试将crossorigin
属性设置为匿名属性,然后确保从服务器返回的响应标头包含Access-Control-Allow-Origin: *
:
var song = document.getElementById('song');
song.setAttribute('crossorigin', 'anonymous');
// or this:
song.crossOrigin = 'anonymous';
相关问题:
DOMException:加载失败,因为找不到支持的源