-2

我想在我存储在 sd 卡中的 android 模拟器上播放视频文件。这是我的代码..

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();

    }
}

但是当我在模拟器上运行时它显示空白屏幕。请帮助。我添加了所需的权限,即互联网和外部存储。

4

3 回答 3

5

请检查此链接

或者

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

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

于 2012-07-10T04:31:00.433 回答
3

使用下面的代码。

主要的.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();
    }
}
于 2012-07-10T04:37:25.810 回答
1

您不应该在模拟器本身上测试正在运行的视频,如果您周围有设备,请改用它。Android 模拟器在正确处理视频方面非常糟糕,因此您可能会遇到很多通常不会出现在任何 Android 设备上的问题。

于 2012-07-10T04:34:14.910 回答