0

我正在尝试在钛表视图中创建几个视频播放器(类似于视频库),但是当我在循环中添加视频播放器时,我只添加了循环中的最后一个视频。

考虑 yGrid = 2,xGrid = 3,我只添加了 6.mp4。

for (var y = 0; y < yGrid; y++) {
    var thisRow = Ti.UI.createTableViewRow({
        className : "grid",
        layout : "horizontal",
        height : cellHeight + (2 * ySpacer),
        backgroundColor : '#cfffffff',
        selectionStyle: 'NONE',
        backgroundImage : '/images/backg2.png'
    });

    var thisPlayer = [];


    for (var x = 0; x < xGrid; x++) {           
         thisPlayer[x] = Titanium.Media.createVideoPlayer({
            objName : "video-view",
            objIndex : cellIndex.toString(),
            left : ySpacer,
            height : cellHeight,
            width : cellWidth,
            url: '/video/'+cellIndex.toString()+'.mp4',
            mediaControlStyle : Titanium.Media.VIDEO_CONTROL_DEFAULT,
            scalingMode : Titanium.Media.VIDEO_SCALING_MODE_SIZE,
            zIndex : 10,
            autoplay : false
        }); 

        thisRow.add(thisPlayer[x]);
        cellIndex++;
    }
    tableData.push(thisRow);
}
var tableview = Ti.UI.createTableView({
    left : 0,
    top : App.geometry.menuHeight + App.geometry.lineHeight+5,
    bottom : App.geometry.menuHeight + App.geometry.lineHeight,
    width : '100%',
    backgroundImage : '/images/backg2.png',
    data : tableData
});
view.add(tableview);

问题出在哪里?

4

1 回答 1

0

最后,问题是因为 IOS 一次不支持多个视频播放器。我已经这样解决了

for (var x = 0; x < xGrid; x++) {           
         thisPlayer[x] = Ti.UI.createWebView({
            objName : "video-view",
            objIndex : cellIndex.toString(),
            left : ySpacer,
            height : cellHeight,
            width : cellWidth,
        }); 
        thisPlayer[x].setHtml('<div><video width="100%" height="94%" controls><source src="./video/'+cellIndex.toString()+'.mp4" type="video/mp4"></video></div>');

        thisRow.add(thisPlayer[x]);
        cellIndex++;
    }
于 2013-08-29T18:19:28.300 回答