-1

我必须在我的应用程序启动时播放视频。我希望它是本地的,但它太大而无法转换为原始(11 秒),我必须让我的应用程序尽可能轻巧。因为它是一个启动画面,所以我不需要媒体控制器。

我想知道这样做的最佳方法是什么,如果我是对的,VideoView 无法理解直接 mp4。有人这样做过吗?

    public class SplashScreenActivity extends Activity{
    private VideoView myVideoView;
    private MediaPlayer mediaPlayer;
    private MediaController mediaController;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.video_player_layout);


        myVideoView = (VideoView) findViewById(R.id.video_player_video_view);
//      mediaController = new MediaController(this);

        myVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() +"/"+R.raw.splash));
//      myVideoView.setMediaController(mediaController);
        myVideoView.requestFocus();
        myVideoView.start();

    }
}

编辑:使用媒体播放器,它保持错误状态

MediaPlayer mp = MediaPlayer.create(this, R.raw.splash);
        mp.setOnCompletionListener(this);
        mp.start();
4

1 回答 1

2
myVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName()+"/"+R.raw.splash));

用下面替换上面的行并尝试..

String path = "android.resource://" + getPackageName()+"/raw/splash";
myVideoView.setVideoURI(Uri.parse(path));
myVideoView.setVideoPath(getDataSource(path));
于 2012-04-10T16:34:50.870 回答