2012-04-10 121 views
-1

我必須在啓動我的應用程序時播放視頻。 我希望它是本地的,但它太大,不能轉換爲原始(11秒),我必須讓我的應用程序更輕。而且因爲它是一個閃屏,我不需要媒體控制器。啓動畫面,播放mp4

我不知道這樣做的最佳方式是什麼,如果我是對的,VideoView無法理解直接mp4。 有沒有人這樣做?

public class SplashScreenActivity extends Activity{ 
    private VideoView myVideoView; 
    private MediaPlayer mediaPlayer; 
    private MediaController mediaController; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.video_player_layout); 


     myVideoView = (VideoView) findViewById(R.id.video_player_video_view); 
//  mediaController = new MediaController(this); 

     myVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() +"/"+R.raw.splash)); 
//  myVideoView.setMediaController(mediaController); 
     myVideoView.requestFocus(); 
     myVideoView.start(); 

    } 
} 

編輯:有媒體播放器,它停留在錯誤狀態

MediaPlayer mp = MediaPlayer.create(this, R.raw.splash); 
     mp.setOnCompletionListener(this); 
     mp.start(); 
+0

爲什麼是大小的問題嗎?如果需要,就把它放在擴展項目中。如果尺寸是一個非常大的問題,你不應該有一個視頻飛濺。 – Warpzit 2012-04-10 15:52:40

+0

我想說我不想把它翻譯成原始的,我知道我會把它放在我的項目中,但我認爲mp4並不是紅色的VideoViews – 2012-04-10 15:55:24

+0

對不起,不能幫助你,它支持哪種格式。 – Warpzit 2012-04-10 16:00:39

回答

1
myVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName()+"/"+R.raw.splash)); 

通過以下替換上面一行,並嘗試..

String path = "android.resource://" + getPackageName()+"/raw/splash"; 
myVideoView.setVideoURI(Uri.parse(path)); 
myVideoView.setVideoPath(getDataSource(path)); 
+0

你好,thx對於那個延遲而言很遺憾,但是getDataSource方法從哪個對象來? – 2012-04-11 07:43:45

+0

只是嘗試評論該行 – 2012-04-11 07:52:59

+0

它不起作用,當我評論它 – 2012-04-11 07:54:21