2014-02-14 54 views
0

我是Android Dev的新手,但我試圖讓視頻在應用第一次啓動時運行。我在'res'目錄下的'raw'文件夾中有.mp4文件。我到目前爲止...Android初學者在MediaPlayer上需要幫助

public class MainActivity extends Activity { 

MediaPlayer videotime; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    videotime = MediaPlayer.create(this, R.raw.lessonslearned); 
    videotime.start(); 

} 


protected void onResume() { 
    Log.e("Pickle", "onResume"); 
    videotime = MediaPlayer.create(this, R.raw.lessonslearned); 
    videotime.start(); 
    super.onResume(); 
} 

任何幫助,將不勝感激。視頻應該在應用程序啓動時播放,一直播放,然後停止播放。

謝謝!

編輯:我得到MEDIAPLAYER錯誤(1,-2147483648) 基本上視頻不播放,音頻不在背景中。

+2

你甚至沒有說出了什麼問題,或發佈錯誤 – meda

+0

他試圖啓動一個MediaPlayer兩次,這很明顯 – Codeman

+0

只是對此抱歉抱歉! – user3311987

回答

0

您不應該在onCreate中調用videotime.start()。在活動處於最前沿之前,這將開始MediaPlayer。您要撥打videotime.start()兩次。只能在onResume()方法中調用它。

在啓動之前,您還需要撥打MediaPlayer上的prepare

對於如何正確啓動MediaPlayer一個例子見here

Uri myUri = ....; // initialize Uri here 
MediaPlayer mediaPlayer = new MediaPlayer(); 
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
mediaPlayer.setDataSource(getApplicationContext(), myUri); 
mediaPlayer.prepare(); 
mediaPlayer.start(); 

這應該適用於視頻相同,但有不同的選擇。

+0

好的我只會在onResume方法上調用它。 – user3311987

+0

生病請嘗試,謝謝! – user3311987

+0

還有一個簡單的問題,Uri myUri = ....應該是什麼?對不起,我已經從字面上做了2天的Android到目前爲止哈哈 – user3311987

0

當然,更好的方法是使用VideoView。我不完全確定,但是如果您想播放帶有MediaPlayer的視頻,則需要SurfaceView才能看到視頻,我已經使用Phoenixblade9解決方案,但只能使用.mp3文件。

您可以使用VideoView

@Override 
protected void onCreate(Bundle savedInstanceState) {   
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
VideoView v = (VideoView) findViewById(R.id.myVideoView); 
v.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.video)); 
v.start(); 

} 

只需添加VideoView到您的佈局。

<VideoView 
     android:id="@+id/myVideoView" 
     android:layout_height="fill_parent" 
     android:layout_width="fill_parent" 
     /> 

更新:在一個MediaPlayer一個SurfaceView播放視頻是必需的。