2

私は本当にこれに困惑しています。サファリでhtml5ビデオプレーヤーとjavascriptを使用しようとしています。1 グリーティング ビデオを再生する 2 ユーザーが選択を行っている間にデフォルトのループ ビデオを再生する 3 ユーザーの選択を再生する 4 デフォルトのループ ビデオに戻る。

1、2、3 は機能しますが、4 は機能しません。

本体からグリーティングビデオを呼び出します

<video id="videok" width=400 height=400 autoplay="autoplay" src="sacagreeting.mov" >

    video not supported
</video>

イベントリスナーを本体に設定しました

body onload="myAddListener()"

 function myAddListener(){
    var myVideo = document.getElementsByTagName('video')[0];
        myVideo.addEventListener('ended',myNewSrc,false);
        }

ループするデフォルトのビデオを再生する私の機能は

function myNewSrc() {
        myVideo = document.getElementsByTagName('video')[0];
        myVideo.src="sacarest.mov";
    myVideo.loop="loop";
        myVideo.load();
        myVideo.play();
    }

ユーザーがビデオを選択するためにselect要素を使用し、onchangeイベントを使用してビデオ関数を呼び出します

function myNewSrcii() {

        myVideo = document.getElementById('videok');

    myVideo.loop=""

    myquest = document.getElementById('vidquest').value;

    switch(myquest)
    {
    case "a":
        myVideo.src="sacaa.mov"; 
        break;
    case "b":
        myVideo.src="sacab.mov";
        break;
    case "c":
        myVideo.src="sacac.mov";
        break;
    case "d":
        myVideo.src="sacad.mov";
        break;
    case "e":
        myVideo.src="sacae.mov";
        break;
    case "f":
        myVideo.src="sacaf.mov";

    }

     myVideo.load();
     myVideo.play();
}

ループ属性を削除しようとしましたが、myNewSrcii 関数でイベント リスナーを再度設定し、ビデオ タグで onended イベントを使用しましたが、うまくいきませんでした。ビデオイベントが終了したことを確認すると、リスナーはデフォルトのビデオ関数を呼び出しません。どんな助けでも大歓迎です。ありがとう

4

1 に答える 1