我們正在尋找一種方法來捕獲mediaelement因爲不存在(404錯誤)或者從未處理請求(超時情況)而不加載文件。在這些情況下,似乎並沒有調用錯誤事件,這是真的嗎?Mediaelement如何處理丟失的文件?
有關如何處理這個問題的任何想法,因此可以進行某種類型的恢復?
我們正在尋找一種方法來捕獲mediaelement因爲不存在(404錯誤)或者從未處理請求(超時情況)而不加載文件。在這些情況下,似乎並沒有調用錯誤事件,這是真的嗎?Mediaelement如何處理丟失的文件?
有關如何處理這個問題的任何想法,因此可以進行某種類型的恢復?
這可能並不回答您的全部問題,但下面是一個簡單的一招我用它來測試,如果該文件存在與否:
<?php
$mp3_url = "http://mywebsite.com/wp-content/uploads/2013/08/mp3.mp3"
/* convert the lecture URI into an absolute path for file_exists() */
$mp3_abs_url = preg_replace("#" . WP_CONTENT_URL . "#", WP_CONTENT_DIR, $mp3_url);
if (file_exists($mp3_abs_url)) {
echo do_shortcode("[audio mp3=$mp3_url][/audio]");
} else {
?>
<div> <?php echo "No MP3 available."; ?> </div>
<?php
}
?>
否則mediaelements只顯示與0:00球員持續時間。
如果你使用HTML5,你可以添加一個監聽器error
事件背後video
或audio
元素:
var player = new MediaElement('player1', {
// fires when a problem is detected
error: function() {
}
});
:
$('audio').on('error', function(e) {
console.log(e);
})
此外,您可以在API的方式初始化的MediaElement
但是,以我的經驗,如果資源給404,這個函數還沒有執行。