不能在后台播放视频

时间:2017-10-05 12:41:05

标签: java android xml runtime-error

我正在尝试在我的Android应用程序的登录页面背景中播放视频,但它无法在屏幕上显示任何内容。启动应用程序时仅显示黑屏。

这是我的代码没有错误但仍然没有在后台播放视频。 我已经检查过,视频在Raw文件夹中可用 下面还提供了XML。

     package in.niya.foodiezone.foodiezone;     

        import android.app.Activity;    
        import android.media.MediaPlayer;   
        import android.net.Uri;    
        import android.os.Bundle;    
        import android.view.SurfaceHolder;    
        import android.view.SurfaceView;     


        public class backmov extends Activity implements SurfaceHolder.Callback {    
            private MediaPlayer mp=null;      
            SurfaceView mSurface=null;      
             @Override      
             public void onCreate(Bundle savedInstanceState) {     
                 super.onCreate(savedInstanceState);     
                 mp=new MediaPlayer();     
                 mSurface=(SurfaceView)findViewById(R.id.surface);     
                 mSurface.getHolder().addCallback(this);     
             }     

            @Override
            public void surfaceCreated(SurfaceHolder holder) {
                Uri video= 

Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.signin);
            mp.setDataSource(video);
            mp.prepare();

            int videoWidth=mp.getVideoWidth();
            int videoHeight=mp.getVideoHeight();
            int screenWidth=getWindowManager().getDefaultDisplay().getWidth();
            android.view.ViewGroup.LayoutParams lp=mSurface.getLayoutParams();
            lp.width=screenWidth;
            lp.height=(int)(((float)videoHeight/(float)videoWidth)*(float)screenWidth);

            mSurface.setLayoutParams(lp);

            mp.setDisplay(holder);
            mp.start();

        }

        @Override
        public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {

        }

        @Override
        public void surfaceDestroyed(SurfaceHolder holder) {
         mp.stop();
        }     
    }




    <FrameLayout 
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/Home">
                <SurfaceView
                    android:id="@+id/surface"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" />
    </FrameLayout>

0 个答案:

没有答案