Android学习之--腾讯云直播

腾讯云直播

1.打开文档
2.SDK集成 选择第一种即可
3.主播推流
4.观众拉流
四.测试:
1.打开控制台
2.云直播产品
3.域名管理
推流域名
4.流管理:直播推流之后就有在线流,显示直播中
六.代码:
1.推流:
2.拉流

一. 原理:

主播:推流(推流地址)
观众:拉流(播放地址)

二.登陆官网

https://cloud.tencent.com/

三.查看官方文档

1.打开文档

Android学习之--腾讯云直播_第1张图片

Android学习之--腾讯云直播_第2张图片

Android学习之--腾讯云直播_第3张图片

4.观众拉流

四.测试:

1.打开控制台

Android学习之--腾讯云直播_第4张图片

Android学习之--腾讯云直播_第5张图片
Android学习之--腾讯云直播_第6张图片

五.主播已经把流推上去了,接下来就是拉流,拉流地址点击上面的测试按钮显示拉流地址

六.代码:

1.推流:

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private Button bt_push;
    private Button bt_close;
    private TXCloudVideoView pusher_tx_cloud_view;
    TXLivePusher mLivePusher;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        TXLivePushConfig mLivePushConfig  = new TXLivePushConfig();
        mLivePusher = new TXLivePusher(this);//推流对象
        // 一般情况下不需要修改 config 的默认配置
        mLivePusher.setConfig(mLivePushConfig);
        mLivePusher.startCameraPreview(pusher_tx_cloud_view);//将流预览到videoview
    }

    private void initView() {
        bt_push = (Button) findViewById(R.id.bt_push);
        bt_close = (Button) findViewById(R.id.bt_close);
        pusher_tx_cloud_view = (TXCloudVideoView) findViewById(R.id.pusher_tx_cloud_view);

        bt_push.setOnClickListener(this);
        bt_close.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.bt_push:
                String rtmpURL = "rtmp://56674.livepush.myqcloud.com/live/demo?txSecret=a53915efced8fc160bab949e1210f7a9&txTime=5D3B237F"; //此处填写您的 rtmp 推流地址
                int ret = mLivePusher.startPusher(rtmpURL.trim());
                if (ret == -5) {
                    Toast.makeText(this, "License 校验失败", Toast.LENGTH_SHORT).show();
                    }
                break;
            case R.id.bt_close:
                mLivePusher.stopPusher();
                mLivePusher.stopCameraPreview(true); //如果已经启动了摄像头预览,请在结束推流时将其关闭。
                break;
        }
    }
}

2.拉流


public class Main2Activity extends AppCompatActivity implements View.OnClickListener {

    private Button bt_start;
    private TXCloudVideoView video_view;
    TXLivePlayer mLivePlayer;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        initView();
    }

    private void initView() {
        bt_start = (Button) findViewById(R.id.bt_start);
        video_view = (TXCloudVideoView) findViewById(R.id.video_view);

        bt_start.setOnClickListener(this);

//创建 player 对象
        mLivePlayer = new TXLivePlayer(this);

//关键 player 对象与界面 view
        mLivePlayer.setPlayerView(video_view);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.bt_start:
                String flvUrl = "http://play2.liqian.ltd/live/demostream.flv";
                mLivePlayer.startPlay(flvUrl, TXLivePlayer.PLAY_TYPE_LIVE_FLV); //推荐 FLV
                break;
        }
    }
    //销毁
    @Override
    public void onDestroy() {
        super.onDestroy();
        mLivePlayer.stopPlay(true); // true 代表清除最后一帧画面
        video_view.onDestroy();
    }
}

你可能感兴趣的:(Android学习)