我想在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();
}
}
但是当我在模拟器上运行时它显示空白屏幕。请帮助。我已经添加了所需的权限,即互联网和外部存储。
答案 0 :(得分:5)
请检查this link
或强>
替换videoView.setVideoPath("mnt/sdcard/bmxskills.3gp");
videoView.setVideoPath("/sdcard/bmxskills.3gp");
答案 1 :(得分: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();
}
}
答案 2 :(得分:1)
您不应该在模拟器本身上测试运行视频,如果您有设备,请使用它。 Android模拟器在正确处理视频时非常糟糕,因此您可能会遇到许多通常不会在任何Android设备上出现的问题。