как я могу написать функцию onpause для Af: медиа-компонента в oracle adf - PullRequest
0 голосов
/ 06 мая 2020

Я хочу записать JS видео с функцией onpause в oracle add. Я знаю, что для этого можно использовать клиентский и серверный Listener, но он не поддерживает событие OnPause ... что я могу с этим поделать?

 function getCurTime(actionEvent) {
                    var vid = document.getElementById("myVideo");
               const canvas = document.createElement('canvas');
              var video = document.querySelector('video');
              var canvas2 = document.querySelector('canvas');
              var context = canvas2.getContext('2d');
               var w, h, ratio;
                    d = Number(vid.currentTime);
                    var h = Math.floor(d / 3600);
                    var m = Math.floor(d % 3600 / 60);
                    var s = Math.floor(d % 3600 % 60);
                    var hDisplay = h > 0 ? h + (h == 1 ? " hour, " : " hours, ") : "";
                    var mDisplay = m > 0 ? m + (m == 1 ? " minute, " : " minutes, ") : "";
                    var sDisplay = s > 0 ? s + (s == 1 ? " second" : " seconds") : "0" + " second";
                    alert(hDisplay + mDisplay + sDisplay);
               var VideoComponent=actionEvent.getSource();
                    AdfCustomEvent.queue(
                    VideoComponent,
                    "onpause",
                    {timeStopped:hDisplay + mDisplay + sDisplay},false
                    )
                    actionEvent.cancel();




                    return hDisplay + mDisplay + sDisplay;
                }//js

//jsf
    <af:media source="/bigrbuckrbunnyr360pr20mb.webm" id="m1" autostart="true" innerHeight="500" innerWidth="600"
                      standbyText="wait plz" contentType="video/webm" controls="all" height="500" width="600" playCount="0"
                      player="quicktime" binding="#{video_Test.mediaVideo}" >
                <af:clientListener method="getCurTime" type="onpause"/>
                <af:serverListener type="onpause" method="#{video_Test.testVideoCutomEvent}"/>
            </af:media>

, а это моя задняя часть

public void testVideoCutomEvent(ClientEvent ce) {

    String tt = (String)ce.getParameters().get("timeStopped") ;
    System.out.println(tt);
    // Add event code here...
}

эта функция никогда не вызывается ... как я могу что-то сделать для этого, чтобы меня распознали как компонент, поддерживающий событие Onpause?

...