如何在钛金属加速器中获得视频结束事件

时间:2014-07-17 05:34:49

标签: titanium titanium-alloy

我在运行时使用setInterval()加载视频网址,然后分配视频我尝试清除setinterval
还使用onComplete =“donextcall”来为视频视频提供新的视频路径,但它会发射两次所以请帮帮我

<VideoPlayer id="videoPlayersinglezone" ns="Ti.Media"  autoplay="true" height="100%" width="100%" onComplete="donextcall" url="" backgroundColor="black" />

var f = Ti.Filesystem.getFile(Ti.Filesystem.externalStorageDirectory +'SinglezoneData/', singleimgs[tempcall]);
clearInterval(x)
$.videoPlayersinglezone.url = f.nativePath;
$.videoPlayersinglezone.show();

我使用钛3.1.1和合金1.2.2什么遗失请告诉我。

完整代码示例

var common = require('common');
var singleimgs = [];
var fistentry = 0;

doFirstClickSingleZone();

function doFirstClickSingleZone() {

    var totalads = Titanium.App.Properties.getString('total_files_on_sdcard');
    $.videoPlayersinglezone.mediaControlStyle = Titanium.Media.VIDEO_CONTROL_HIDDEN;
    LoadData(totalads);

}

function LoadData(adscount) {

    var fistcall = 0;
    for (var i = 0; i < adscount; i++) {
        singleimgs[i] = Titanium.App.Properties.getString('dwnfname' + i);
    }        
}


var tempcall=0;
function donextcall() {
    /*
    fistentry++;
        if (fistentry % 2 == 0) {

        } else {

            tempcall++;
            RenderAd(tempcall);
        }
    */
    tempcall++;
    RenderAd(tempcall);
}

function RenderAd(imgid) {

    if (imgid == singleimgs.length) {
        tempcall = 0;
    } else {
        tempcall= imgid;
    }
    var t = Titanium.App.Properties.getString('timeInt');
    var x = setInterval(function() {
        if (tempcall < singleimgs.length) {
            var arry = [];
            arry = singleimgs[tempcall].split(".");
            var exte;
            exte = arry[arry.length - 1];

            if (exte == 'png' || exte == 'jpg' || exte == 'gif' || exte == 'jpeg' || exte == 'tif') {
                common.getnotification();
                $.videoPlayersinglezone.url = "";
                $.videoPlayersinglezone.hide();
                var f = Ti.Filesystem.getFile(Ti.Filesystem.externalStorageDirectory +'SinglezoneData/', singleimgs[tempcall]);

                $.myImg.image = f.nativePath;
                $.myImg.show();
                tempcall++;
            } else {
                //if(exte=='mp4' || exte=='avi' || exte=='3gp' || exte=='mov' || exte == 'flv'){
                common.getnotification();
                var f = Ti.Filesystem.getFile(Ti.Filesystem.externalStorageDirectory +'SinglezoneData/', singleimgs[tempcall]);

                //Titanium.App.Properties.setString('videopath', f.nativePath);
                //Titanium.App.Properties.setString('imgcount', tempcall++);
                $.myImg.image = '';
                $.myImg.hide();
                clearInterval(x);
                $.videoPlayersinglezone.url = f.nativePath;
                $.videoPlayersinglezone.show();

            }
        } else {
            common.getnotification();
            clearInterval(x);
            callAgain();
        }
    }, 10000);
}

//this callaAgain() I have use to call RenderAd(imgid) to display image or video randomly so u have any solution please help me my application aim to display image or video from sdcard randomly  
function callAgain() {
    RenderAd(singleimgs.length);
}

0 个答案:

没有答案