android直播播放器(集成阿里云基础播放器)

1.播放器初建:

       先在application中需先初始化阿里云的直播播放器   

AliVcMediaPlayer.init(getApplicationContext());

     在activity中实列化播放器,需要先实例化一个surfacceview

mPlayer = new AliVcMediaPlayer(this, mSurfaceView);
    if(mPlayer != null){
    mPlayer.prepareAndPlay(mUrl);}
    mPlayer.play();
    mSurfaceView.setOnClickListener(new mClickListener());
}

2.播放器全屏:

       播放器全屏的设置涉及到android的横竖屏的问题,即在进入全屏模式的时候需要android的屏幕为横屏模式,在同一个activity中进行横竖屏转换的时候会进行activity的重载,如果是做视频播放器的话需要记录当前播放进度。也可通过在activity的节点加入

android:configChanges="keyboardHidden|orientation|screenSize"
不让activity重载

       接下来就是一些隐藏状态栏,导航的栏的事。

       我在全屏中设置了一个rativelayout的surfaceview的父布局,通过设置父布局,surfaceview的属性为much_parent来控制播放器的大小布局。

       设置rativelayout大小的方法为:

       RelativeLayout ss = (RelativeLayout) findViewById(R.id.rl_1);
       ss.setLayoutParams(new RelativeLayout.LayoutParams(mScreenHeight,mScreenWidth));

      其中在获得手机屏幕大小网上说了很多种方法都没有讲导航栏的高度算进去,不是手机的真是高度,是因为谷歌原来的导航栏和状态栏是不支持定制的,后面出现可定制以后方法比较混乱   然后在17以后出标准的获取手机真实宽度和高度的方法:

Context context = getApplicationContext();
DisplayMetrics dm = new DisplayMetrics();
WindowManager windowMgr = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
windowMgr.getDefaultDisplay().getRealMetrics(dm);
int mScreenHeight = dm.heightPixels;
int mScreenWidth = dm.widthPixels;

3.设置单击事件   出现控制组件

    通过建立一个线程隐藏组件,当点击事件发生以后 ,hander.removeCallbacks(线程)   移除线程  显示组件             然后设置一个延迟启动线程再次隐藏组件  

Handler.postDelayed(线程,延迟时间(毫秒,int))




你可能感兴趣的:(android直播播放器(集成阿里云基础播放器))