2013-01-01 27 views
1

我使用引導程序的模式框來加載使用videojs的視頻。 我需要從數據庫中獲取視頻文件名稱。以引導模式動態加載視頻

當有人點擊一個鏈接時,調用一個playVideo()函數。 我所做的是我使用id videoPlayer填充一個div,並用視頻代碼填充它。 這裏是我的playVideo功能:

function playVideo(id) 
    { 
    $('video').attr('id','CurrentVideo'+id); 
    var videoData=new Array(); 
    $.getJSON('<?PHP echo base_url();?>admin/content/getVideoDetail/'+id,function(data){ 
     $.each(data,function(k,v){ 
      videoData.push(v); 
      }); 
     }).done(function(){ 

    $("#videoPlayer").html('<video id="CurrentVideo'+id+'" class="video-js vjs-default-skin" controls width="530" height="264" preload="none"> <source type="video/mp4" src="<?PHP echo base_url()?>content/videos/'+videoData[3]+'"></video>'); 

    myPlayer=_V_('CurrentVideo'+id); 

    $("#videoBox").modal(); 

    $("#videoBox").on('hide',function(){ 
    $("#videoPlayer").html(''); 
    }); 
     }); 
    } 

這招的確奏效,但不是在所有的瀏覽器非常一致地工作。我採取了錯誤的做法嗎?此外,videojs是否有缺陷?我應該使用其他一些類似流水遊戲的選擇嗎?

回答

0

有些事情我已經使用VideoJS當經歷:

  • 自動播放是一個壞主意。如果您希望顯示模式並立即開始播放視頻,則只能在某些瀏覽器中正常運行。大多數其他瀏覽器都有問題(即音頻流的兩個實例將開始播放)

  • $(「#videoPlayer」)。html('')你基本上吹走了HTML。如果您擔心性能,請避免這種情況。嘗試重新使用現有的代碼/標籤。大多數開發人員認爲,通過吹走HTML節省內存 - 不一定是真的。

而且這不是VideoJS的問題。我見過很多不同的視頻JS庫,並且它們不能很好地處理HTML5視頻。

0

顯然你只指定了mp4。所以它會在Chrome上(也可能在iDevices上)播放,但不會在Firefox等網頁上播放。

您可以提供關於哪個瀏覽器正在工作以及哪個瀏覽器不是哪個瀏覽器的更多信息?