在安卓端实现阿里云直播

来源:互联网 发布:mac ps没有足够内存 编辑:程序博客网 时间:2024/06/06 05:05

安卓端实现直播就2件事,1推流,2,拉流.

一,推流按照demo来进行很简单的

二,拉流

1,下载阿里视频sdk

2,将AliunPlayer.arr文件导入至相应项目的libs中

3,在build.gradle中的android{ ...}里面添加

repositories {    flatDir {        dirs 'libs'    }}

4,在dependencies{}中添加

//阿里云视频播放器compile (name:'AliyunPlayer',ext:'aar')
5,创建对应的播放页面

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical" android:layout_width="match_parent"    android:layout_height="match_parent">    <android.view.SurfaceView        android:id="@+id/video_view"        android:layout_width="match_parent"        android:layout_height="200dp" /></LinearLayout>
6,实现播放的方法,注意不要在主线程中进行该操作

@Overrideprotected void onResume() {    super.onResume();    mHandler = new Handler();    mHandler.postDelayed(new Runnable() {        public void run() {                startPlayerOne();        }    }, 1000);}

    private void startPlayerOne() {        mediaPlayer=new AliVcMediaPlayer(Zhibo.this,surfaceView);        // 设置图像适配屏幕,适配最长边        mediaPlayer.setVideoScalingMode(MediaPlayer.VideoScalingMode.VIDEO_SCALING_MODE_SCALE_TO_FIT);        // 设置图像适配屏幕,适配最短边,超出部分裁剪        mediaPlayer.setVideoScalingMode(MediaPlayer.VideoScalingMode.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);        //设置缺省编码类型:0表示硬解;1表示软解;        //如果缺省为硬解,在使用硬解时如果解码失败,会尝试使用软解        //如果缺省为软解,则一直使用软解,软解较为耗电,建议移动设备尽量使用硬解        mediaPlayer.setDefaultDecoder(0);        //如果从历史点开始播放//        mediaPlayer.seekTo(position);        //准备开始播放        mediaPlayer.prepareAndPlay("http://2449.vod.myqcloud.com/2449_22ca37a6ea9011e5acaaf51d105342e3.f20.mp4");    }

7,在APPlication中初始化播放器

//应用启动时阿里播放器初始化"alizhibo"(自定义的业务名称,仅对于日志有关)AliVcMediaPlayer.init(getApplicationContext(),"alizhibo");