1

Brightcove API を使用してイベントをキャッチする必要があります。ビデオの再生が終了したら、関数を実行します。Web サイトの API ガイドに従いましたが、Brightcove を使用するのは初めてなので、少し混乱しています。これが私のコードです:

    <script language="JavaScript" type="text/javascript" src="http://admin.brightcove.com/js/BrightcoveExperiences.js"></script>

         <object id="myExperience1537710931001" class="BrightcoveExperience">
            <param name="bgcolor" value="#FFFFFF" />
            <param name="width" value="764" />
            <param name="height" value="455" />
            <param name="playerID" value="1537479248001" />
            <param name="playerKey" value="AQ~~,AAABZfMS9tk~,qKtLVPwo3pzgDkN5hMeILjqzKpujZdaw" />
            <param name="isVid" value="true" />
            <param name="isUI" value="true" />
            <param name="dynamicStreaming" value="true" />
            <param name="includeAPI" value="true" />
            <param name="templateLoadHandler" value="myTemplateLoaded" />
            <param name="templateReadyHandler" value="onTemplateReady" />
            <param name="@videoPlayer" value="1537710931001" />
        </object>


                <script type="text/javascript">

                    var player;
                    var modVP;
                    var modExp;
                    var modCon;

            function myTemplateLoaded(experienceID) {
                player = brightcove.api.getExperience(experienceID);
                modVP = player.getModule(brightcove.api.modules.APIModules.VIDEO_PLAYER);
                modExp = player.getModule(brightcove.api.modules.APIModules.EXPERIENCE);
                modCon = player.getModule(brightcove.api.modules.APIModules.CONTENT);
                modExp.addEventListener(brightcove.api.events.ExperienceEvent.TEMPLATE_READY, onTemplateReady);
            }

            function onTemplateReady(evt) {
                modVP.addEventListener(brightcove.api.events.MediaEvent.BEGIN, onMediaEventFired);
                modVP.addEventListener(brightcove.api.events.MediaEvent.CHANGE, onMediaEventFired);
                modVP.addEventListener(brightcove.api.events.MediaEvent.COMPLETE, onMediaEventFired);
                modVP.addEventListener(brightcove.api.events.MediaEvent.ERROR, onMediaEventFired);
                modVP.addEventListener(brightcove.api.events.MediaEvent.PLAY, onMediaEventFired);
                modVP.addEventListener(brightcove.api.events.MediaEvent.PROGRESS, onMediaProgressFired);
                modVP.addEventListener(brightcove.api.events.MediaEvent.STOP, onMediaEventFired);
            }


            function onMediaEventFired(evt) {
                if (evt.type === brightcove.api.events.MediaEvent.STOP) {
                    alert('Hello!!!!');
                }
            }
</script>

何が間違っているのかわかりませんが、ビデオの再生が終了してもアラートは表示されません。何か案が?

ありがとう
マウロ

4

1 に答える 1

1

プレーヤーを交換すると、コールバックが機能します。これは、指定したプレーヤーの API を有効にする必要があることを示しています。これは、Brightcove admin (http://support.brightcove.com/en/docs/editing-settings-players) 内でプレーヤー設定を編集することで実行できます。

フラッシュ オブジェクト EG にパラメーターを追加して、ハンドラーを指定する必要がある場合もあります。

<param name="templateLoadHandler" value="myTemplateLoaded" />

また、イベント ハンドラを変更して、イベント オブジェクトをテストする必要がありtypeますdata

    function onMediaEventFired(evt) {

        if (evt.type === brightcove.api.events.MediaEvent.COMPLETE) {
            alert('Hello!!!!');
        }
    }
于 2012-03-30T13:46:47.707 に答える