2012-07-10 59 views
-2

我想在我已經存儲在SD卡上的android模擬器上播放視頻文件。 這是我的代碼..如何播放SD卡中的視頻文件

public class AndroidVideoViewActivity extends Activity { 

    private VideoView videoView=null; 
    private String PATH="mnt/sdcard/bmxskills.3gp"; 
    private MediaPlayer mediaPlayer=null; 
    private MediaController mediaController=null; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     VideoView videoView=(VideoView)findViewById(R.id.videoView); 
     videoView.setVideoPath("mnt/sdcard/bmxskills.3gp"); 

     videoView.setMediaController(mediaController); 
     videoView.requestFocus(); 
     videoView.start(); 

    } 
} 

但是當我在模擬器上運行它顯示空白screen.Please help.I添加所需的權限,這是互聯網和外部存儲。

+0

@Sunjay你檢查我的答案? – Nikhil 2012-07-10 04:54:20

+0

@Nik我檢查了你的答案,但我仍然得到相同的結果。我必須創建一個視頻播放器,或者android是否有內置的視頻播放器來播放視頻? – 2012-07-10 04:58:53

+0

@Sunjay請在設備中查看。 – Nikhil 2012-07-10 05:00:04

回答

5

請檢查this link

OR

更換videoView.setVideoPath("mnt/sdcard/bmxskills.3gp");

videoView.setVideoPath("/sdcard/bmxskills.3gp");

1

你不應該測試在模擬器本身運行的視頻,如果你有一個設備周圍鋪設,使用相反。 Android模擬器在正確處理視頻時非常糟糕,所以您可能會遇到很多通常不會出現在任何Android設備上的問題。

3

使用下面的代碼。

main.xml中

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/hello"/> 
    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 
     <VideoView 
      android:id="@+id/myvideoview" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content"/> 
    </LinearLayout> 
</LinearLayout> 

MainActivity.java

public class MainActivity extends Activity { 

    String SrcPath = "/sdcard/Video/Android in Spaaaaaace!_low.mp4"; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     VideoView myVideoView = (VideoView)findViewById(R.id.myvideoview); 
     myVideoView.setVideoPath(SrcPath); 
     myVideoView.setMediaController(new MediaController(this)); 
     myVideoView.requestFocus(); 
     myVideoView.start(); 
    } 
}