2012-07-10 60 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(); 
    } 
}