2016-01-21 115 views
0

使用以下代碼我可以在新的活動中在Android上播放視頻。然而,我想預先加載視頻(在加載屏幕中),然後在完全加載時顯示它。是否有可能以某種方式觸發活動後來顯示?理論上也可以不使用不同的活動。加載完成後,在新活動中從URL播放視頻

public class VideoPlayer extends Activity implements OnCompletionListener,OnPreparedListener 
{ 

    private VideoView mVV; 

    @Override 
    public void onCreate(Bundle b) { 
     super.onCreate(b); 

     setContentView(R.layout.videoplayer); 

     String url = getIntent().getStringExtra("url"); 
     if(url == null) 
      finish(); 

     mVV = (VideoView)findViewById(R.id.myvideoview); 
     mVV.setOnCompletionListener(this); 
     mVV.setOnPreparedListener(this); 
     mVV.setVideoURI(Uri.parse(url)); 
     mVV.start(); 
    } 


    public void stopPlaying() { 
     mVV.stopPlayback(); 
     this.finish(); 
    } 

    @Override 
    public void onCompletion(MediaPlayer mp) { 
     finish(); 
    } 

    @Override 
    public void onPrepared(MediaPlayer mp) { 

    } 
} 

從我的主要活動:

private void playVideo(String url) { 
     Intent videoPlaybackActivity = new Intent(this, VideoPlayer.class); 
     videoPlaybackActivity.putExtra("url", url); 
     startActivity(videoPlaybackActivity); 
    } 

我相信我可以用onPrepared功能,但我不知道該怎麼辦的活動觸發後顯示的活動。

+0

當活動開始時會彈出一個全屏進度對話框,當視頻準備好時會關閉這個對話框如何? – instanceof

回答

1

http://developer.android.com/reference/android/widget/VideoView.htmlHere都爲VideoView方法。所以的確有: setOnPreparedListener(MediaPlayer.OnPreparedListener L)

也許最好的辦法是在活動中使用的片段和展示活動中的片段,其中MVV =(VideoView)findViewById(R.id.myvideoview );是在調用onprepared時聲明的。

或者隱藏和顯示活動中的視圖。 (使用片段可能更好)。 認爲這會工作,那是你想要的?

+0

我想不必進入片段,我的應用程序是單視圖遊戲,這只是一些介紹視頻的例外。所以我想展示它類似於視頻廣告的工作方式。加載(使用監聽器),再次顯示和隱藏。 –

+1

在其中包含視頻視圖的活動中設置自定義對話框。並調用OnPrepared中的dialog.show()然後它會在活動上方彈出。我相信在互聯網上有一些例子可以做到這一點:)。 – Riddim

+0

這聽起來像是要走的路! –

相關問題