1

I am using modal box of bootstrap to load videos using videojs. I need to fetch the video file name from database.

When someone clicks on a link, a playVideo() function is called. What I do is that I populate a div with id videoPlayer and populate it with the video code. Here is my playVideo function:

 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('');
    });
       });
   }

This works sometimes but is not working very consistently in all browsers. Have i taken a wrong approach? Further, is there any flaw with videojs? should i use some other alternative like flowplayer?

4

2 に答える 2

0

どうやらあなたはmp4のみを指定しました。そのため、Chrome(およびおそらくiDevices)で再生されますが、Firefoxなどでは再生されません。

どのブラウザで動作していて、どのブラウザで動作していないかについて、詳細を教えてください。

于 2013-01-05T09:41:55.380 に答える
0

VideoJS を使用しているときに私が経験したこと:

  • 自動再生は悪い考えです。モーダルが表示されてすぐにビデオの再生が開始されることを期待している場合、一部のブラウザーでのみ正しく機能します。他のほとんどのブラウザーには問題があります (つまり、オーディオ ストリームの 2 つのインスタンスが再生を開始します)。

  • $("#videoPlayer").html('') あなたは本質的に HTML を吹き飛ばしています。パフォーマンスが心配な場合は、これを避けてください。既存のコード/タグを流用してみてください。ほとんどの開発者は、HTML を吹き飛ばすことでメモリを節約できると考えていますが、必ずしもそうではありません。

VideoJS の問題ではありません。さまざまなビデオ JS ライブラリを見てきましたが、HTML5 ビデオをうまく処理できません。

于 2013-02-22T03:41:19.720 に答える