video作为启animation面而不是图片

我正在使用Splash Screens上的Android编程教程,您可以在其中显示5秒的图片或文本,而不是主应用程序。 我的问题是..而不是文字或图片我想在进入应用程序的下一页之前显示5秒的video文件。

我不是在谈论应用程序加载时我正在谈论何时加载它并且你编程它在一个单独的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媒体文件。

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

    检查源代码听取和简单步骤创建启animation面的最佳实践

    1)创建SplashScreen.java类。

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

    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。

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

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

    此外,请特别注意MediaPlayer参考页面上的状态图。 这可能有点棘手,众所周知可以绊倒几个人。

     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上添加控件,可以添加以下内容:

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