2012-03-16 8 views
0

AndroidアプリでTitaniumに取り組んでいます。特定の画面では、リンクからビデオを再生する必要があります。充電には時間がかかりますので、動画が始まるまでProgressDialogを入力する必要があります。私はこのように、このためにActivityIndicatorを使用しようとしました:チタンでビデオをロードする前のProgressDialog

var activeMovie = Titanium.Media.createVideoPlayer({ 
     backgroundColor:'#000', 
     fullscreen:true 
    }); 

    var dialog = Titanium.UI.createActivityIndicator(); 
    dialog.message = 'Loading...'; 

    win.add(dialog); 
    dialog.show(); 

    activeMovie.setUrl(url); 
    activeMovie.mediaControlStyle=Titanium.Media.VIDEO_CONTROL_FULLSCREEN; 

    activeMovie.addEventListener("preload", function(e){ 
     dialog.show() ;   
    }); 

    activeMovie.addEventListener('load', function(e){ 
     dialog.hide() ;   
    }); 
    activeMovie.addEventListener('complete', function(e){ 
     activeMovie.stop(); 
     navController.close(); 
    }); 

このコードProgressDialog 2秒表示され、その後消えさせます。この時間が過ぎると、ある時間黒い画面が表示され(ビデオが充電中)、この時間が経過するとビデオが開始されます。私の間違いは誰にでも助けてくれますか?

答えて

3

一つの問題を解決するには、次のようになります。

var activeMovie = Titanium.Media.createVideoPlayer({ 
     url: url, 
     backgroundColor:'#111', 
     movieControlMode:Titanium.Media.VIDEO_CONTROL_DEFAULT // See TIMOB-2802, which may change this property name 

    }); 

    win.add(activeMovie); 
    var dlg = Titanium.UI.createActivityIndicator(); 
    win.addEventListener('open',function() 
    { 
      dlg.setMessage('Loading...'); 
      dlg.show(); 
    }); 

    activeMovie.addEventListener('load',function() 
    { 
      dlg.hide(); 
    }); 

    activeMovie.addEventListener('complete',function() 
    { 
      win.close(); 
    }); 

    activeMovie.play(); 

    win.addEventListener('close', function() 
    { 
      windowClosed = true; 
      activeMovie.stop(); 
    }); 
関連する問題