0

現時点ではアラートが表示されないため、自分のビデオをデバッグするにはどうすればよいですか。私はIE9を使用しており、プレーヤーはjwplayerです。jwplayer 要素の下と上に配置しようとしたため、何か不足しているのか、デバッグ用の JavaScript コードを間違った場所に配置したのでしょうか。再生をクリックするとアラートが表示されるのでしょうか、それともすぐに表示されるのでしょうか?

<div id="myElement">Loading the player...</div>

<?php echo 'This is the videoPath '.$dbVideoFile; ?>

<script type="text/javascript">

    jwplayer("myElement").setup({
        file: "<?php echo $dbVideoFile; ?>",
    });


var myvid = document.getElementById('myElement');
if (myvid.error) {
 switch (myvid.error.code) {
   case MEDIA_ERR_ABORTED:
      alert("You stopped the video.");
      break;
   case MEDIA_ERR_NETWORK:
      alert("Network error - please try again later.");
      break;
   case MEDIA_ERR_DECODE:
      alert("Video is broken..");
      break;
   case MEDIA_ERR_SRC_NOT_SUPPORTED:
      alert("Sorry, your browser can't play this video.");
      break;
 }
}
</script>
4

1 に答える 1

0

まず第一に、ビデオの代わりに div 要素からエラーを取得しようとしています.2番目に、コードがロードされたときにすぐにそれを行おうとしています.現時点ではまだプレイヤーはいません。コールバック関数を onError jwplayer イベントにアタッチして、何が問題なのかを見つけてください。またMediaError、コード定数はグローバルスコープで定義されておらず、オブジェクトにバインドされているため、単なる代わりにMediaErrorたとえばを使用する必要がありますMediaError.MEDIA_ERR_ABORTEDMEDIA_ERR_ABORTED

jwplayer("myElement").setup({
    file: "<?php echo $dbVideoFile; ?>",
    events: {
        onError: function (message) {

            console.error('Video error: ' + message);

            // note that jwplayer is replacing your original div element with new one with same id
            // you can try to get video tag created by jwplayer:
            var videos = document.getElementById('myElement').getElementsByTagName();
            if (videos.length && videos[0].error) {
                switch (videos[0].error.code) {
                    case MediaError.MEDIA_ERR_ABORTED:
                       alert("You stopped the video.");
                       break;
                    case MediaError.MEDIA_ERR_NETWORK:
                       alert("Network error - please try again later.");
                       break;
                    case MediaError.MEDIA_ERR_DECODE:
                       alert("Video is broken..");
                       break;
                    case MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED:
                       alert("Sorry, your browser can't play this video.");
                       break;
                    default:
                       alert('Unknown error');
                       break;
                }
            }
        }
    }
});

jwplayer イベントのドキュメントを参照してください

于 2013-01-28T13:24:33.097 に答える