通过阅读本文,您可以了解Android推流SDK的API及配置列表。

API

按照功能划分,API可以分为基础接口、推流基础接口、RTC拉流基础接口等,各功能对应的API如下所示:

表 1. 基础接口
API 描述 所属类及说明
getSdkVersion 获取版本号。 AliLiveEngine:直播推流核心类,实现RTMP和RTC两种模式的推流功能、RTC模式下拉流功能、视频渲染、美颜开关等,是直播推流一体化SDK最重要的类。
create 创建AliLiveEngine实例。
destroy 销毁推流。
setRtsCallback 设置RTC推流相关回调。
setStatsCallback 设置推流数据回调。
setStatusCallback 设置推流状态相关回调。
setNetworkCallback 设置推流网络状态相关回调。
setVidePreProcessDelegate 设置视频前处理回调。
setLogDirPath 设置SDK日志文件保存路径。如需调用,请在调用所有API之前先调用此接口,避免日志出现丢失,同时保证指定的目录已存在且可写入。
setLogLevel 设置日志输出级别。
表 2. 推流基础接口
API 描述 所属类及说明
createRenderView 创建渲染的view。 AliLiveEngine:直播推流核心类,实现RTMP和RTC两种模式的推流功能、RTC模式下拉流功能、视频渲染、美颜开关等,是直播推流一体化SDK最重要的类。
startPreview 开始预览(主播端接口)。
stopPreview 停止预览(主播端接口)。
pausePush 暂停摄像头采集并进入垫片推流状态(仅支持RTMP模式推流)。需要先调用startPush后才可以调用pausePush,否则调用顺序会出错。
resumePush 恢复摄像头采集并结束垫片推流状态(仅支持RTMP模式推流)。需要先调用pausePush后才可以调用resumePush,否则调用顺序会出错。
startPush 开始推流。
stopPush 停止推流。
isPublishing 查询是否正在推流。
getPublishUrl 获取当前推流的地址。
表 3. RTC拉流基础接口
API 描述 所属类及说明
subscribeStream 订阅RTC方式连麦的成员视频流。 AliLiveEngine:直播推流核心类,实现RTMP和RTC两种模式的推流功能、RTC模式下拉流功能、视频渲染、美颜开关等,是直播推流一体化SDK最重要的类。
unSubscribeStream 取消订阅RTC方式的连麦成员视频流。
renderRemoteStreamWithView 为连麦成员视频流设置渲染窗口。
renderRemoteStreamWithView 为连麦成员视频流设置渲染窗口以及绘制参数。
表 4. 视频相关接口
API 描述 所属类及说明
setPreviewMode 设置预览模式。 AliLiveEngine:直播推流核心类,实现RTMP和RTC两种模式的推流功能、RTC模式下拉流功能、视频渲染、美颜开关等,是直播推流一体化SDK最重要的类。
switchCamera 切换前后摄像头。
getCurrentCameraPosition 获取当前相机位置。
isCameraOn 检查相机是否打开。
setCameraZoom 设置摄像头缩放及是否允许闪光灯。
isCameraFocusPointSupported 摄像头是否支持手动聚焦。
isCameraExposurePointSupported 摄像头是否支持设置曝光区域。
setCameraFocusPoint 设置摄像头手动聚焦。
setCameraExposurePoint 设置摄像头曝光点。
表 5. 音频相关接口
API 描述 所属类及说明
setMute 设置本地音频采集是否为静音帧。 AliLiveEngine:直播推流核心类,实现RTMP和RTC两种模式的推流功能、RTC模式下拉流功能、视频渲染、美颜开关等,是直播推流一体化SDK最重要的类。
isAudioOnly 查询是否纯音频推流。
enableSpeakerphone 设置音频输出为听筒或扬声器。
isEnableSpeakerphone 获取当前音频输出为听筒或扬声器。
setRecordingVolume 设置录音音量。
setPlayoutVolume 设置播放音量。
enableEarBack 启用耳返。建议在插入耳机后开启耳返,否则可能会引入回声。
setEarBackVolume 设置耳返音量。
playBGM 播放背景音乐。
stopBGM 停止播放背景音乐。
pauseBGM 暂停播放背景音乐。
resumeBGM 恢复播放背景音乐。
setBGMVolume 设置背景音乐音量。
getBGMDuration 获取背景音乐文件的总时长。单位:ms。
getBGMCurrentPosition 获取背景音乐播放进度。单位:ms。
setBGMPosition 设置音频文件的播放位置。
setPicthValue 设置声音音调高低。
setReverbMode 设置混响模式。
setVoiceChangerMode 设置变声模式。
表 6. 美颜相关接口
API 描述 所属类及说明
getBeautyManager 获取美颜接口。 AliLiveEngine:直播推流核心类,实现RTMP和RTC两种模式的推流功能、RTC模式下拉流功能、视频渲染、美颜开关等,是直播推流一体化SDK最重要的类。
enable 美颜开关。 AliLiveBeautyManager:美颜功能控制类,即美颜类型,包含美白、磨皮。
getEnableType 获取当前的美颜开关类型。
setBeautyParam 设置某个美颜的参数。
destroy 销毁美颜。
表 7. 回调接口
API 描述 所属类及说明
onLiveTotalStats 累计数据回调(仅支持RTC流)。 StatsCallback:推流过程实时数据回调。指标:当推RTC流时,2秒回调一次;推RTMP流时,10秒回调一次。
onLiveLocalVideoStats 本地视频统计信息(支持RTMP和RTC流)。
onLiveRemoteVideoStats 远端视频统计信息(仅支持RTC流)。
onLiveRemoteAudioStats 远端音频统计信息(仅支持RTC流)。
onSubscribeResult 订阅某一个URL后的状态回调。当调用subscribeStream后,推流引擎会回调此URL的订阅状态,在连麦场景下,一个UID唯一标示一个粉丝的流信息,订阅表示接受该粉丝的音视频流。 RtsCallback:此回调只适用于RTC推流,表示连麦方式下订阅粉丝流的状态回调,RTMP推流没有该回调信息。
onUnSubscribeResult 取消订阅某一个URL后的状态回调。当调用unSubscribeStream后,推流引擎会回调此URL的取消订阅状态,在连麦场景下,一个UID唯一标示一个粉丝的流信息,取消订阅表示不再接受该粉丝的音视频流。
onFirstPacketReceivedWithUid 成功订阅某个URL后开始接收其媒体数据,当接收到第一个包后触发此回调,一般在此回调后开始调用渲染renderRemoteStreamWithView来展示视频流。
onFirstRemoteVideoFrameDrawn 订阅的第一帧视频帧显示时触发此消息。
onLiveSdkError 如果AliLiveEngine出现Error,通过此回调通知App。 StatusCallback:回调推流状态的相关回调,RTMP和RTC推流都使用这个回调获取推流状态。
onLiveSdkWarning 如果AliLiveEngine出现Warning,通过此回调通知App。
onPreviewStarted 开始预览回调。
onPreviewStopped 停止预览回调。
onFirstVideoFramePreviewed 渲染第一帧视频回调。
onLivePushStarted 推流成功回调,表示开始推流。
onLivePushStopped 推流停止回调,表示停止推流。
onAudioFocusChanged 音频焦点变化的结果通知。
onBGMStateChanged 音频音效播放状态回调。
onTexture 在OpenGL线程中回调,进行采集图像的二次处理,如美颜。 AliLiveVideoPreProcessCallback:视频前处理回调,可以用来自定义视频图像处理,如自定义美颜等。
onTextureDestroy Texture销毁前在OpenGL线程中回调。
onVideoData 采集过程中实时进行视频数据回调。
onNetworkPoor 弱网回调,当网络变成弱网状态时会触发此回调。 NetworkCallback:推流过程中网络状态变化相关回调,通知接入方当前推流引擎的网络状态。
onNetworkStatusChange 网络状态变化回调,例如WiFi切换成4G,或网络中断等会触发此回调。
onConnectRecovery 网络状态恢复回调。
onReconnectStart 推流引擎开始重连回调。当网络非常不好的情况下可能会出现推流中断的情况,推流中断后会尝试开始重连,此时触发此回调。
onConnectionLost 推流中断回调,推流引擎中断推流。
onReconnectSuccess 推流引擎重连成功回调,继续开始推流。
onReconnectFail 重连失败回调。

配置列表

  • AliLiveConfig:阿里云直播SDK配置RTMP和RTC推流初始化参数配置模块,创建直播引擎时需要将配置对象通过参数的形式传入,配置只能在推流开始前设置,推流开始后重新设置配置无效。
    参数 类型 默认值 说明
    accountId String NULL 连麦域名HTTPDNS解析账号ID(连麦场景下必须设置)。
    rtmpConfig AliLiveRTMPConfig NULL RTMP推流参数属性。
    cameraPosition AliLiveCameraPosition AliLiveCameraPositionFront 相机位置。
    audioOnly boolean false 纯音频连麦。
    autoFocus boolean false 是否支持自动对焦。
    videoPushProfile AliLiveVideoPushProfile AliLiveVideoProfile_540P 视频推流分辨率。
    videoFPS int 20 视频帧率。
    enableHighDefPreview boolean false 是否开启高清预览。如果采集分辨率低于720P时,本地预览以720P的方式呈现,采集分辨率高于720P以实际分辨率预览。
    enableVideoEncoderHWAcceleration boolean true 视频硬编码。
    enableVideoDecoderHWAcceleration boolean true 视频硬解码。
    videoGopSize AliLivePushVideoEncodeGOP AliLivePushVideoEncodeGOP_2 视频编码GOP大小,单位:s。
    pauseImage Bitmap NULL 可以设置推流一张图片,此时观众只能看到推的这张图片,常用于App切换至后台。设置后调用pausePush推送图片。
    videoRenderMode AliLiveRenderMode AliLiveRenderModeAuto 视频显示模式。
    pushMirror AliLiveRenderMirrorMode AliLiveRenderMirrorModeOnlyFront 推流镜像。
    flash boolean false 开启闪光灯。
    zoom float 1.0 画面缩放。
    extra String NULL 辅助字段,用户可以传入直播成员唯一标示,用于SDK问题的日志排查。
  • AliLiveRTMPConfig:阿里云直播SDK配置RTMP推流初始化参数配置模块,创建直播引擎时需要将配置对象通过参数的形式传入,配置只能在推流开始前设置,推流开始后重新配置无效。
    参数 类型 默认值 说明
    enableAudioHWAcceleration boolean false 音频软编码。
    videoInitBitrate int 1000 视频编码初始编码码率,单位:Kbps。
    videoTargetBitrate int 1500 视频编码目标编码码率,单位:Kbps。
    videoMinBitrate int 600 视频编码最小编码码率,单位:Kbps。
    audioChannel AliLivePushAudioChannel AliLivePushAudioChannel_1 音频声道数。
    audioSampleRate AliLivePushAudioSampleRate AliLivePushAudioSampleRate44100 音频采样率。
    audioEncoderProfile AliLiveAudioEncoderProfile AliLiveAudioEncoderProfile_AAC_LC 音频编码格式。
    autoReconnectRetryCount int 5 推流自动重连次数。
    autoReconnectRetryInterval int 1000 推流自动重连间隔,单位:ms。

基础接口

  • getSdkVersion:获取版本号。
    static String getSdkVersion()

    返回说明

    返回SDK版本号。

  • create:创建AliLiveEngine实例。
    static AliLiveEngine create(Context context, AliLiveConfig config)

    参数说明

    参数 类型 说明
    context Context 上下文。
    config AliLiveConfig 直播配置。

    返回说明

    返回AliLiveEngine实例。

  • destroy:销毁推流。
    void destroy()
  • setRtsCallback:设置RTC推流相关回调。
    void setRtsCallback(AliLiveCallback.RtsCallback rtsCallback)

    参数说明

    参数 类型 说明
    rtsCallback RtsCallback RTC推流回调。
  • setStatsCallback:设置推流数据回调。
    void setStatsCallback(AliLiveCallback.StatsCallback statsCallback)

    参数说明

    参数 类型 说明
    statsCallback statsCallback 推流数据回调。
  • setStatusCallback:设置推流状态相关回调。
    void setStatusCallback(AliLiveCallback.StatusCallback statusCallback)

    参数说明

    参数 类型 说明
    statusCallback StatusCallback 推流状态回调。
  • setNetworkCallback:设置推流网络状态相关回调。
    void setNetworkCallback(AliLiveCallback.NetworkCallback networkCallback)

    参数说明

    参数 类型 说明
    networkCallback NetworkCallback 推流网络状态回调。
  • setVidePreProcessDelegate:设置视频前处理回调。
    void setVidePreProcessDelegate(AliLiveCallback.AliLiveVideoPreProcessCallback callback)

    参数说明

    参数 类型 说明
    callback AliLiveVideoPreProcessCallback 视频前处理回调。
  • setLogDirPath:设置SDK日志文件保存路径。如需调用,请在调用所有API之前先调用此接口,避免日志出现丢失,同时保证指定的目录已存在且可写入。
    int setLogDirPath(String logDirPath)

    参数说明

    参数 类型 说明
    logDirPath String SDK日志文件保存路径。
  • setLogLevel:设置日志输出级别。
    void setLogLevel(AliLiveConstants.AliLiveLogLevel level)

    参数说明

    参数 类型 说明
    level AliLiveLogLevel 日志级别。

推流基础接口

  • createRenderView:创建渲染的view。
    AliLiveRenderView createRenderView(boolean overlay)

    参数说明

    参数 类型 说明
    overlay boolean 是否覆盖其他surfaceView。

    返回说明

    返回渲染的view。

  • startPreview:开始预览(主播端接口)。
    AliLiveError startPreview(AliLiveRenderView surfaceView)

    参数说明

    参数 类型 说明
    surfaceView AliLiveRenderView 渲染的view。

    返回说明

    返回NULL表示调用成功,否则表示调用失败。

  • stopPreview:停止预览(主播端接口)。
    AliLiveError stopPreview()

    返回说明

    返回NULL表示调用成功,否则表示调用失败。

  • pausePush:暂停摄像头采集并进入垫片推流状态。需要先调用startPush后才可以调用pausePush,否则调用顺序会出错。
    void pausePush()
  • resumePush:恢复摄像头采集并结束垫片推流状态。需要先调用pausePush后才可以调用resumePush,否则调用顺序会出错。
    void resumePush()
  • startPush:开始推流。
    AliLiveError startPush(String url)

    参数说明

    参数 类型 说明
    url String 推流地址。可以通过地址头(rtmp://或artc://)区分是RTMP或RTC推流。

    返回说明

    返回NULL表示调用成功,否则表示调用失败。

  • stopPush:停止推流。
    AliLiveError stopPush()

    返回说明

    返回NULL表示调用成功,否则表示调用失败。

  • isPublishing:查询是否正在推流。
    boolean isPublishing()

    返回说明

    返回true表示正在推流中,false表示没有在推流。

  • getPublishUrl:获取当前推流的地址。
    String getPublishUrl()

    返回说明

    返回当前推流的地址。

RTC拉流基础接口

  • subscribeStream:订阅RTC方式连麦的成员视频流。
    AliLiveError subscribeStream(String url)

    参数说明

    参数 类型 说明
    url String 需要被订阅的连麦成员的唯一URL标示。

    返回说明

    返回NULL表示调用成功,否则表示调用失败。

  • unSubscribeStream:取消订阅RTC方式的连麦成员视频流。
    AliLiveError unSubscribeStream(String url)

    参数说明

    参数 类型 说明
    url String 需要取消被订阅的连麦成员的唯一URL标示。

    返回说明

    返回NULL表示调用成功,否则表示调用失败。

  • renderRemoteStreamWithView:为连麦成员视频流设置渲染窗口。
    int renderRemoteStreamWithView(AliLiveRenderView remoteView, String url)

    参数说明

    参数 类型 说明
    remoteView AliLiveRenderView 需要渲染视频流的窗口。
    url String 连麦成员的唯一URL标示。

    返回说明

    返回0表示调用成功,-1表示调用失败。

  • renderRemoteStreamWithView:为连麦成员视频流设置渲染窗口以及绘制参数。
    int renderRemoteStreamWithView(AliLiveRenderView remoteView, String url, AliLiveConstants.AliLiveRenderMode renderMode,
                                                       AliLiveConstants.AliLiveRenderMirrorMode mirrorMode)

    参数说明

    参数 类型 说明
    remoteView AliLiveRenderView 需要渲染视频流的窗口。
    url String 连麦成员的唯一URL标示。
    renderMode AliLiveRenderMode 视频渲染方式。
    mirrorMode AliLiveRenderMirrorMode 是否需要镜像。

    返回说明

    返回0表示调用成功,-1表示调用失败。

视频相关接口

  • setPreviewMode:设置预览模式。
    AliLiveError setPreviewMode(AliLiveConstants.AliLiveRenderMode renderMode, AliLiveConstants.AliLiveRenderMirrorMode mirrorMode)

    参数说明

    参数 类型 说明
    renderMode AliLiveRenderMode 视频渲染方式。
    mirrorMode AliLiveRenderMirrorMode 是否需要镜像。

    返回说明

    返回NULL表示调用成功,否则表示调用失败。

  • switchCamera:切换前后摄像头。
    AliLiveError switchCamera()

    返回说明

    返回NULL表示调用成功,否则表示调用失败。

  • getCurrentCameraPosition:获取当前相机位置。
    AliLiveConstants.AliLiveCameraPosition getCurrentCameraPosition()

    返回说明

    返回当前相机位置。

  • isCameraOn:检查相机是否打开。
    boolean isCameraOn()

    返回说明

    返回true表示摄像头已打开,false表示摄像头没有打开。

  • setCameraZoom:设置摄像头缩放及是否允许闪光灯。
    int setCameraZoom(float zoom, boolean flashOn)

    参数说明

    参数 类型 说明
    zoom float 缩放的级别。
    flashOn boolean 是否允许闪光灯。

    返回说明

    返回0表示调用成功,否则表示调用失败。

  • isCameraFocusPointSupported:摄像头是否支持手动聚焦。
    boolean isCameraFocusPointSupported()

    返回说明

    返回true表示支持,false表示不支持。

  • isCameraExposurePointSupported:摄像头是否支持设置曝光区域。
    boolean isCameraExposurePointSupported()

    返回说明

    返回true表示支持,false表示不支持。

  • setCameraFocusPoint:设置摄像头手动聚焦。
    int setCameraFocusPoint(AliLivePoint point)

    参数说明

    参数 类型 说明
    point AliLivePoint 聚焦点。

    返回说明

    返回0表示调用成功,否则表示调用失败。

  • setCameraExposurePoint:设置摄像头曝光点。
    int setCameraExposurePoint(AliLivePoint point)

    参数说明

    参数 类型 说明
    point AliLivePoint 曝光点。

    返回说明

    返回0表示调用成功,否则表示调用失败。

音频相关接口

  • setMute:设置本地音频采集是否为静音帧。
    int setMute(boolean mute)

    参数说明

    参数 类型 说明
    mute boolean 是否为静音帧。取值:
    • true:表示本地音频采集静音帧。
    • false:表示恢复成正常帧。

    返回说明

    返回0表示成功放入队列,-1表示被拒绝。

  • isAudioOnly:查询是否纯音频推流。
    boolean isAudioOnly()

    返回说明

    返回true表示纯音频推流,false表示非纯音频推流。

  • enableSpeakerphone:设置音频输出为听筒或扬声器。
    int enableSpeakerphone(boolean enable)

    参数说明

    参数 类型 说明
    enable boolean 音频输出为听筒或扬声器。取值:
    • true:表示扬声器模式。
    • false(默认值):表示听筒模式。

    返回说明

    返回0表示调用成功,否则表示调用失败。

  • isEnableSpeakerphone:获取当前音频输出为听筒或扬声器。
    boolean isEnableSpeakerphone()

    返回说明

    返回true表示扬声器模式,false表示听筒模式。

  • setRecordingVolume:设置录音音量。
    int setRecordingVolume(int volume)

    参数说明

    参数 类型 说明
    volume int 录音音量。默认值为100。取值范围:
    • 0:静音。
    • [0,100):减小音量到某值。
    • (100,400]:增大音量到某值。

    返回说明

    返回0表示调用成功,否则表示调用失败。

  • setPlayoutVolume:设置播放音量。
    int setPlayoutVolume(int volume)

    参数说明

    参数 类型 说明
    volume int 播放音量。默认值为100。取值范围:
    • 0:静音。
    • [0,100):减小音量到某值。
    • (100,400]:增大音量到某值。

    返回说明

    返回0表示调用成功,否则表示调用失败。

  • enableEarBack:启用耳返。建议在插入耳机后开启耳返,否则可能会引入回声。
    int enableEarBack(boolean enable)

    参数说明

    参数 类型 说明
    enable boolean 是否启用耳返。
  • setEarBackVolume:设置耳返音量。
    int setEarBackVolume(int volume)

    参数说明

    参数 类型 说明
    volume int 设置耳返音量。
  • playBGM:播放背景音乐。
    int playBGM(String path, boolean publish, boolean loop)

    参数说明

    参数 类型 说明
    path String 本地音乐文件路径(仅支持mp3、wav格式音频,且不支持中文路径)。
    publish boolean 是否推流。取值:
    • true:推流到远端。
    • false:仅本地试听,不推流到远端。
    loop boolean 是否循环播放。取值:
    • true:循环。
    • false:不循环。
  • stopBGM:停止播放背景音乐。
    int stopBGM()
  • pauseBGM:暂停播放背景音乐。
    int pauseBGM()
  • resumeBGM:恢复播放背景音乐。
    int resumeBGM()
  • setBGMVolume:设置背景音乐音量。
    int setBGMVolume( int volume)

    参数说明

    参数 类型 说明
    volume int 背景音乐音量。取值:
    • 0:静音。
    • (0,100]:设置音量为某值。
  • getBGMDuration:获取背景音乐文件的总时长。单位:毫秒。
    int getBGMDuration()
  • getBGMCurrentPosition:获取背景音乐播放进度。单位:毫秒。
    int getBGMCurrentPosition()
  • setBGMPosition:设置音频文件的播放位置。
    int setBGMPosition(int posMs)

    参数说明

    参数 类型 说明
    posMs int 进度条位置。单位:毫秒。
  • setPicthValue:设置声音音调高低。
    int setPicthValue(float pitch)

    参数说明

    参数 类型 说明
    pitch float 设置音调,默认值为1.0f,范围为[0.5, 2.0]。
  • setReverbMode:设置混响模式。
    int setReverbMode(AliLiveConstants.AliLiveReverbMode mode)

    参数说明

    参数 类型 说明
    mode AliLiveReverbMode 混响模式。取值:
    • AliLiveReverbMode_Off:关闭。
    • AliLiveReverbMode_Vocal_I:人声 I。
    • AliLiveReverbMode_Vocal_II:人声 II。
    • AliLiveReverbMode_Bathroom:澡堂。
    • AliLiveReverbMode_Small_Room_Bright:明亮小房间。
    • AliLiveReverbMode_Small_Room_Dark:黑暗小房间。
    • AliLiveReverbMode_Medium_Room:中等房间。
    • AliLiveReverbMode_Large_Room:大房间。
    • AliLiveReverbMode_Church_Hall:教堂走廊。
    • AliLiveReverbMode_Cathedral:大教堂。
  • setVoiceChangerMode:设置变声模式。
    int setVoiceChangerMode(AliLiveConstants.AliLiveVoiceChangerMode mode)

    参数说明

    参数 类型 说明
    mode AliLiveVoiceChangerMode 变声模式。取值:
    • AliLiveVoiceChanger_OFF:关闭。
    • AliLiveVoiceChanger_Oldman:老人。
    • AliLiveVoiceChanger_Babyboy:男孩。
    • AliLiveVoiceChanger_Babygirl:女孩。
    • AliLiveVoiceChanger_Robot:机器人。
    • AliLiveVoiceChanger_Daimo:大魔王。
    • AliLiveVoiceChanger_Ktv:KTV。
    • AliLiveVoiceChanger_Echo:回声。

美颜相关接口

  • getBeautyManager:获取美颜接口。
    AliLiveBeautyManager getBeautyManager()

    返回说明

    返回美颜接口。

  • enable:开关美颜。
    void enable(EnableType enableType)

    参数说明

    参数 类型 说明
    enableType EnableType 美颜功能的开关。取值:
    • Off(默认值):关闭美颜。
    • Basic:基础美颜。
  • getEnableType:获取当前的美颜开关类型。
    EnableType getEnableType()

    返回说明

    返回美颜开关。

  • setBeautyParam:设置某个美颜的参数。
    void setBeautyParam(BeautyParam param, float value)

    参数说明

    参数 类型 说明
    param BeautyParam 美颜参数。取值:
    • SkinBuffing_SkinBuffing:磨皮。
    • SkinWhiting_SkinWhiting:美白。
    value float 美颜参数值。取值:0~1。
  • destroy:销毁美颜。
    void destroy()

回调接口

  • onLiveTotalStats:累计数据回调(仅支持RTC流)。
    void onLiveTotalStats(AliLiveStats stats)

    参数说明

    参数 类型 说明
    stats AliLiveStats 实时数据。

    实时数据包含以下内容:

    参数 类型 说明
    sentKbitrate long 总发送码率,单位:Kbps。(暂未支持)
    rcvdKbitrate long 总接收码率,单位:Kbps。(暂未支持)
    sentBytes long 总发送数据量,单位:Byte。(暂未支持)
    rcvdBytes long 总接收数据,单位:Byte。(暂未支持)
    videoRcvdKbitrate long 视频发送码率,单位:Kbps。(暂未支持)
    videoSentKbitrate long 视频接收码率,单位:Kbps。(暂未支持)
    callDuration long 通话时长,单位:s。(暂未支持)
    cpuUsage float CPU使用量,单位:%。(暂未支持)
  • onLiveLocalVideoStats:本地视频统计信息(支持RTMP和RTC流)。
    void onLiveLocalVideoStats(AliLiveLocalVideoStats localVideoStats)

    参数说明

    参数 类型 说明
    localVideoStats AliLiveLocalVideoStats 本地视频统计信息。

    本地视频统计信息包含以下内容:

    参数 类型 说明
    track AliLiveVideoTrack 视频流track类型。(暂未支持)
    sentBitrate int 发送码率。
    sentFps int 发送帧率。
    encodeFps int 编码帧率。
  • onLiveRemoteVideoStats:远端视频统计信息(仅支持RTC流)。
    void onLiveRemoteVideoStats(AliLiveRemoteVideoStats remoteVideoStats)

    参数说明

    参数 类型 说明
    remoteVideoStats AliLiveRemoteVideoStats 远端视频统计信息。

    远端视频统计信息包含以下内容:

    参数 类型 说明
    userId String 远端用户UserID。
    track AliLiveVideoTrack 视频流track类型。
    width int 宽度。
    height int 高度。
    decodeFps int 解码帧率。
    renderFps int 渲染帧率。
    frozenTimes int 卡顿次数。
  • onLiveRemoteAudioStats:远端音频统计信息(仅支持RTC流)。
    void onLiveRemoteAudioStats(AliLiveRemoteAudioStats remoteAudioStats)

    参数说明

    参数 类型 说明
    remoteAudioStats AliLiveRemoteAudioStats 远端音频统计信息。

    远端音频统计信息包含以下内容:

    参数 类型 说明
    userId String 远端用户UserID。
    track AliLiveAudioTrack 音频流track类型。
    audioLossRate int 回调周期内的音频丢帧率。
    rcvdBitrate int 接收流的瞬时码率,单位:Kbps。
    totalFrozenTimes int 远端用户加入频道后音频卡顿的累计时长,单位:ms。
  • onSubscribeResult:订阅某一个URL后的状态回调。当调用subscribeStream后,推流引擎会回调此URL的订阅状态,在连麦场景下,一个UID唯一标示一个粉丝的流信息,订阅表示接受该粉丝的音视频流。
    void onSubscribeResult(AliLiveResult result, String uid)

    参数说明

    参数 类型 说明
    result AliLiveResult 订阅状态,成功或者失败。
    uid String 订阅成员的唯一标识。
  • onUnSubscribeResult:取消订阅某一个URL后的状态回调。当调用unSubscribeStream后,推流引擎会回调此URL的取消订阅状态,在连麦场景下,一个UID唯一标示一个粉丝的流信息,取消订阅表示不再接受该粉丝的音视频流。
    void onUnSubscribeResult(AliLiveResult result, String uid)

    参数说明

    参数 类型 说明
    result AliLiveResult 订阅状态,成功或者失败。
    uid String 订阅成员的唯一标识。
  • onFirstPacketReceivedWithUid:成功订阅某个URL后开始接收其媒体数据,当接收到第一个包后触发此回调,一般在此回调后开始调用渲染renderRemoteStreamWithView来展示视频流。
    void onFirstPacketReceivedWithUid(String url)

    参数说明

    参数 类型 说明
    url String 订阅成员的唯一标识。
  • onFirstRemoteVideoFrameDrawn:订阅的第一帧视频帧显示时触发此消息。
    void onFirstRemoteVideoFrameDrawn(String uid, AliLiveConstants.AliLiveVideoTrack videoTrack)

    参数说明

    参数 类型 说明
    uid String 订阅成员的唯一标识。
    videoTrack AliLiveVideoTrack 流类型。
  • onLiveSdkError:如果AliLiveEngine出现Error,通过此回调通知App。
    void onLiveSdkError(AliLiveEngine publisher, AliLiveError error)

    参数说明

    参数 类型 说明
    publisher AliLiveEngine 推流实例对象。
    error AliLiveError 错误信息。
  • onLiveSdkWarning:如果AliLiveEngine出现Warning,通过此回调通知App。
    void onLiveSdkWarning(AliLiveEngine publisher, int warn)

    参数说明

    参数 类型 说明
    publisher AliLiveEngine 推流实例对象。
    warn int 警告码。
  • onPreviewStarted:开始预览回调。
    void onPreviewStarted(AliLiveEngine publisher)

    参数说明

    参数 类型 说明
    publisher AliLiveEngine 推流实例对象。
  • onPreviewStopped:停止预览回调。
    void onPreviewStopped(AliLiveEngine publisher)

    参数说明

    参数 类型 说明
    publisher AliLiveEngine 推流实例对象。
  • onFirstVideoFramePreviewed:渲染第一帧视频回调。
    void onFirstVideoFramePreviewed(AliLiveEngine publisher)

    参数说明

    参数 类型 说明
    publisher AliLiveEngine 推流实例对象。
  • onLivePushStarted:推流成功回调,表示开始推流。
    void onLivePushStarted(AliLiveEngine publisher)

    参数说明

    参数 类型 说明
    publisher AliLiveEngine 推流实例对象。
  • onLivePushStopped:推流停止回调,表示停止推流。
    void onLivePushStopped(AliLiveEngine publisher)

    参数说明

    参数 类型 说明
    publisher AliLiveEngine 推流实例对象。
  • onAudioFocusChanged:音频焦点变化的结果通知。
    void onAudioFocusChanged(int focusChange)

    参数说明

    参数 类型 说明
    focusChange int 请参见Android源码android.media.AudioManager中的定义。
  • onBGMStateChanged:音频音效播放状态回调。
    void onBGMStateChanged(AliLiveEngine publisher, AliLiveConstants.AliLiveAudioPlayingStateCode playState,
                                          AliLiveConstants.AliLiveAudioPlayingErrorCode errorCode)

    参数说明

    参数 类型 说明
    publisher AliLiveEngine 推流实例对象。
    playState AliLiveAudioPlayingStateCode 播放状态。
    errorCode AliLiveAudioPlayingErrorCode 播放状态对应的错误码。
  • onTexture:在OpenGL线程中回调,进行采集图像的二次处理,如美颜。
    int onTexture(int textureId, int width, int height, int stride, int rotate)

    参数说明

    参数 类型 说明
    textureId int 纹理ID。
    width int 纹理宽度。
    height int 纹理高度。
    stride int 对齐偏移。
    rotate int 纹理角度。
  • onTextureDestroy:Texture销毁前在OpenGL线程中回调。
    int onTextureDestroy()
  • onVideoData:采集过程中实时进行视频数据回调。
    void onVideoData(long dataFrameY, long dataFrameU, long dataFrameV, AliLiveConstants.AliLiveImageFormat format, int width, int height, int strideY, int strideU, int strideV, int rotate)

    参数说明

    参数 类型 说明
    dataFrameY long Y分量。
    dataFrameU long U分量。
    dataFrameV long V分量。
    format AliLiveImageFormat 图像格式。
    width int 图像宽。
    height int 图像高。
    strideY int Y偏移。
    strideU int U偏移。
    strideV int V偏移。
    rotate int 角度。
  • onNetworkPoor:弱网回调,当网络变成弱网状态时会触发此回调。
    void onNetworkPoor()
  • onNetworkStatusChange:网络状态变化回调,例如WiFi切换成4G,或网络中断等会触发此回调。
    void  void onNetworkStatusChange(AliLiveConstants.AliLiveNetworkStatus status)()

    参数说明

    参数 类型 说明
    status AliLiveNetworkStatus 网络连接状态。取值:
    • 4G。
    • WiFi。
    • 无网络。
  • onConnectRecovery:网络状态恢复回调。
    void onConnectRecovery()
  • onReconnectStart:推流引擎开始重连回调。当网络非常不好的情况下可能会出现推流中断的情况,推流中断后会尝试开始重连,此时触发此回调。
    void onReconnectStart()
  • onConnectionLost:推流中断回调,推流引擎中断推流。
    void onConnectionLost()
  • onReconnectSuccess:推流引擎重连成功回调,继续开始推流。
    void onReconnectSuccess()
  • onReconnectFail:重连失败回调。
    void onReconnectFail()