我必须在启动我的应用程序时播放视频。 我希望它是本地的,但它太大了,无法转换为原始(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();
答案 0 :(得分: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));