video作为闪屏而不是图片

我正在做飞溅屏幕上的Android编程教程,在那里你显示一个图片或文本5秒,比它的主要应用程序。 我的问题是..而不是文本或图片我想显示一个video文件5秒,然后进入下一页的应用程序。

我不是在讨论什么时候加载的应用程序加载时,它是什么时候加载,你编程它显示的东西在单独的Java和XML页面上显示的东西,然后移动到别的..这里是我目前的代码。

@Override protected void onCreate(Bundle SplashScreen1) { // TODO Auto-generated method stub super.onCreate(SplashScreen1); setContentView(R.layout.splash); ourSong = MediaPlayer.create(Splash.this, R.raw.splashsound); ourSong.start(); Thread timer = new Thread(){ public void run(){ try{ sleep(5000); } catch (InterruptedException e){ e.printStackTrace(); }finally{ Intent openStartingPoint = new Intent("com.Player.Splash.STARTINGPOINT"); startActivity(openStartingPoint); } } }; timer.start(); } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); ourSong.release(); finish(); } 

那么我该怎么做才能使它显示一个video媒体文件没有开始/停止等。

Solutions Collecting From Web of "video作为闪屏而不是图片"

我希望这能帮到您。 您只需创build一个简单的VideoView ,即可为video创build启animation面。

检查源代码听到和简单的步骤什么是创build启animation面的最佳做法

使用MediaPlayerVideoView 。 您可以通过在MediaPlayer上设置OnCompletionListener来“监听”video播放完成时间。

看到这里: http : //developer.android.com/reference/android/media/MediaPlayer.html在这里: http : //developer.android.com/reference/android/widget/VideoView.html

另外,请特别注意MediaPlayer参考页上的状态图。 这可能有点棘手,并已知道有几个人上去。

1)创buildSplashScreen.java类。

2)在res目录(res / raw)中创build一个原始文件夹。

3)将你的MP4video文件粘贴到这个原始文件夹(如果你没有任何样品的MP4,你可以从下面的链接下载)。 http://www.mediafire.com/download/p05ki89i2dt5x2x/splash.mp4

4)然后在你的SplashScreen.java类中添加下面的代码。

 public class SplashScreenActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); try { VideoView videoHolder = new VideoView(this); setContentView(videoHolder); Uri video = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.splash); videoHolder.setVideoURI(video); videoHolder.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { public void onCompletion(MediaPlayer mp) { jump(); } }); videoHolder.start(); } catch (Exception ex) { jump(); } } @Override public boolean onTouchEvent(MotionEvent event) { jump(); return true; } private void jump() { if (isFinishing()) return; startActivity(new Intent(this, MainActivity.class)); finish(); } 

}

注意:splash_activity.xml不是必需的。

 imgAnim=(VideoView)findViewById(R.id.animimage); String uriPath = "android.resource://com.petnvet/" + R.drawable.vidio; Uri uri = Uri.parse(uriPath); imgAnim.setVideoURI(uri); imgAnim.requestFocus(); imgAnim.start(); // imgAnim.setVideoPath("android.resource://com.myapplication/" + R.drawable.vidio); int SPLASH_DISPLAY_LENGTH = 3000; new Handler().postDelayed(new Runnable() { @Override public void run() { Intent mainIntent = new Intent(SplashScreen.this, Login.class); startActivity(mainIntent); finish(); } }, SPLASH_DISPLAY_LENGTH); 

这是添加video的代码。 如果您需要在video中添加控件(如暂停或search等),则可以添加它们:

vv.setMediaController(new MediaController(this));

其余的代码:

 VideoView vv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); vv=(VideoView)findViewById(R.id.videoView); Uri path=Uri.parse("android:resource://"+getPackageName()+"/"+R.raw.hello); vv.setVideoURI(path); vv.setMediaController(new MediaController(this)); vv.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { Intent in=new Intent(splash.this,MainActivity.class); startActivity(in); finish(); } }); vv.start();