Files
MoGoAiCloudSdk/app/src/main/java/com/mogo/cloud/LivePushActivity.java
donghongyu 2ad446c7b1 [Change]
1、升级ZeGo直播SDK
2、修复直播拉流播放状态,

    /**
     * 连接失败,播放失败,都走这里,可以展示播失败信息
     *
     * @param errorMsg
     */
    void onError(String errorMsg);

    /**
     * 拉流成功且处于播放中
     */
    void onPlaying();

    /**
     * 拉流重试中,还没成功,可以做Loading
     */
    void onPlaRequesting();
2023-04-12 21:05:14 +08:00

90 lines
2.6 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package com.mogo.cloud;
import android.os.Bundle;
import android.util.Log;
import com.mogo.cloud.live.listener.ILivePushStatusListener;
import com.mogo.cloud.live.manager.ILiveStreamManager;
import com.mogo.cloud.live.manager.LiveStreamManagerImpl;
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
/**
* 推流页面
*/
public class LivePushActivity extends BaseLiveActivity {
public static final String TAG = "PushActivity";
ILiveStreamManager liveStreamManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 初始化直播流管理
liveStreamManager = LiveStreamManagerImpl.getInstance(this.getApplication(),
MoGoAiCloudClientConfig.getInstance().getSn(), true);
// 设置状态回调
liveStreamManager.setLivePushStatusChangeCallback(new ILivePushStatusListener() {
@Override
public void onChange(int status) {
tvLiveStatus.post(new Runnable() {
@Override
public void run() {
if (status == 0) {
tvLiveStatus.setTextColor(getResources().getColor(R.color.colorStartLive));
} else {
tvLiveStatus.setTextColor(getResources().getColor(R.color.colorStopLive));
}
}
});
}
});
}
@Override
public void onVideoFrame(byte[] bytes, int bytesLength) {
//Log.i(TAG, "onVideoFrame byte length: " + bytesLength);
if (liveStreamManager != null) {
// 将摄像头采集的YUV数据推送到ZEGO
liveStreamManager.notifyYUVData(bytes, 1280, 720, 3);
}
}
@Override
public void toggleLive(boolean isLive) {
}
@Override
public void toggleCameraState(boolean isLive) {
Log.i(TAG, "toggleCameraState isLive: " + isLive);
if (isLive) {
// 上报摄像头状态1-可用2-不可用
liveStreamManager.uploadCamStatus(1, 1);
} else {
liveStreamManager.uploadCamStatus(2, 2);
}
}
@Override
public void togglePlay(boolean isPlay) {
}
@Override
public void toggleLoginMultiRoom(boolean isLogin) {
}
@Override
protected void onDestroy() {
super.onDestroy();
if (liveStreamManager != null) {
// 停止
liveStreamManager.stopLiveStream();
// 释放资源
liveStreamManager.release();
}
}
}