2013-08-23 47 views
0

我們正在尋找一種方法來捕獲mediaelement因爲不存在(404錯誤)或者從未處理請求(超時情況)而不加載文件。在這些情況下,似乎並沒有調用錯誤事件,這是真的嗎?Mediaelement如何處理丟失的文件?

有關如何處理這個問題的任何想法,因此可以進行某種類型的恢復?

回答

0

這可能並不回答您的全部問題,但下面是一個簡單的一招我用它來測試,如果該文件存在與否:

<?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球員持續時間。

0

如果你使用HTML5,你可以添加一個監聽器error事件背後videoaudio元素:

var player = new MediaElement('player1', { 
    // fires when a problem is detected 
    error: function() { 
    } 
}); 

$('audio').on('error', function(e) { 
    console.log(e); 
}) 

此外,您可以在API的方式初始化的MediaElement

但是,以我的經驗,如果資源給404,這個函數還沒有執行。