Android學習之--騰訊雲直播

騰訊雲直播

1.打開文檔
2.SDK集成 選擇第一種即可
3.主播推流
4.觀衆拉流
四.測試:
1.打開控制檯
2.雲直播產品
3.域名管理
推流域名
4.流管理:直播推流之後就有在線流,顯示直播中
六.代碼:
1.推流:
2.拉流

一. 原理:

主播:推流(推流地址)
觀衆:拉流(播放地址)

二.登陸官網

https://cloud.tencent.com/

三.查看官方文檔

1.打開文檔

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

4.觀衆拉流

四.測試:

1.打開控制檯

在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述

五.主播已經把流推上去了,接下來就是拉流,拉流地址點擊上面的測試按鈕顯示拉流地址

六.代碼:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章