2012-05-28 88 views
1

在我的應用程序中,我需要確保用戶已將視頻設置爲我的html5視頻播放器的源,然後再繼續其他操作。所以我想這(在Firefox使用螢火蟲):檢測視頻源是否在html5視頻播放器中設置

當用戶設置了來源爲錄像機

vp = $('#myvideoplayer') 
vp.attr('src') --> "blob:5c254454-6c4e-4b69-b381-9ad60d6b1c4a" 

當沒有源設置爲視頻

vp.attr('src') --> undefined 

我可以用這個檢測用戶是否設置了視頻源?

if(vp.attr('src') != undefined){ 
    let_user_do_next_action(); 
} 

還有沒有更好的方法?

P.S:

我設置視頻的使用HTML5文件輸入插件如下的來源。 (這個只適用於Firefox,Chrome瀏覽器以來不允許createObjectURLwindow.webkitURL出於某種原因。)

var file = $('#fileselect').get(0).files[0]; 
if (file==undefined){ 
    alert('no file chosen'); 
} 
var myURL = window.URL || window.webkitURL; 
var fileURL = myURL.createObjectURL(file); 
if(fileURL){ 
    player = $('#myvideoplayer'); 
    player.src=fileURL; 
    player.load(); 
} 
return; 
+2

'我可以使用它來檢測用戶是否設置了視頻源嗎?「當您嘗試此操作時會發生什麼?你看到證據證明它不起作用嗎?如果是這樣,任何錯誤?如果是這樣,請發佈它們。祝你好運! :) – jmort253

+0

@ jmort253,我試過了,它在工作,但是很擔心它有點複雜。感謝您的評論 – damon

+0

有道理。簡單是更好的,所以如果有一個更簡單的解決方案,這是一個去:) – jmort253

回答

1

該代碼應該工作,或者如果你想做到萬無一失,檢查typeof vp.attr('src') == "undefined" .Though如果不這樣做使用jQuery,您可能需要檢查element.hasAttribute("src")

關於window.webkitURL.createObjectURL,我認爲Chrome的限制,當你在本地測試它(例如在file:// URL)的東西,你要麼必須建立在localhost上一個簡單的HTTP服務器,或使用start Chrome--allow-file-access-from-files

+1

感謝您的答覆..並且關於開始鑲有旗子的金塊是額外的獎金!非常有義務! – damon

+1

是的,這真的很煩人... – gengkev