ThunderEngine 接口类提供所有可供应用程序调用的方法,同时使用到以下类或接口。
ThunderAudioFilePlayer 类接口提供了音频播放器管理相关接口。
所有返回值为 int 型的 API,如无特殊说明,返回值 0 为调用成功,返回值小于 0 为调用失败,返回码详见 ThunderRet。
public static synchronized ThunderEngine createEngine(Context context,
String appId,
long sceneId,
ThunderEventHandler handler)
创建 ThunderEngine 实例并初始化。
注意:
- 同一个AppID的用户才能互通。
参数 | 描述 |
---|---|
context | Android Application 的上下文 |
appId | 为应用程序签发的 AppId |
sceneId | 业务场景ID,用以区分业务场景的数据;例如同一个App同时有语音房、KTV、秀场直播等,可分别设置sceneId,数据统计后台可以根据sceneId统计分析不同场景下的数据。 如果不需要,可以填0 |
handler | ThunderEventHandler 是一个提供了缺省实现的抽象类,ThunderEngine 通过该类通知 SDK 各种事件 |
public static synchronized ThunderEngine createEngine(ThunderEngineConfig config)
创建 ThunderEngine 实例并初始化,同时设置访问区域
注意:
- 同一个AppID的用户才能互通。
参数 | 描述 |
---|---|
config | 创建ThunderEngine的配置,详见 ThunderEngineConfig |
public static synchronized ThunderEngine createWithLoop(Context context,
String appId,
long sceneId,
ThunderEventHandler handler,
Looper loop)
创建 ThunderEngine 实例并初始化。
注意:
- 同一个AppId的用户才能互通。
参数 | 描述 |
---|---|
context | Android Application 的上下文 |
appId | 为应用程序开发者签发的 AppID |
sceneId | 业务场景ID,用以区分业务场景的数据;例如同一个App同时有语音房、KTV、秀场直播等,可分别设置sceneId,数据统计后台可以根据sceneId统计分析不同场景下的数据。 如果不需要,可以填0 |
handler | ThunderEventHandler 是一个提供了缺省实现的抽象类,ThunderEngine 通过该类通知 SDK 各种事件 |
loop | 和线程关联的Looper对象,指定 handler 回调函数在 loop 关联的线程中执行。 |
public static synchronized ThunderEngine createWithLoop(ThunderEngineConfig config,
Looper loop)
创建 ThunderEngine 实例并初始化,同时设置访问区域
注意:
- 同一个AppId的用户才能互通。
参数 | 描述 |
---|---|
config | 创建ThunderEngine的配置,详见 ThunderEngineConfig |
loop | 和线程关联的Looper对象,指定 handler 回调函数在 loop 关联的线程中执行。 |
public static synchronized void destroyEngine()
销毁 ThunderEngine 实例。
注意:
- 已经创建的文件播放对象 ThunderAudioFilePlayer 也会被释放。
public static String getVersion()
获取 SDK 版本信息。
public int setArea(int area)
设置用户国家区域。
为适应国内外不同的法律法规,同时提供国内中心系统和国际中心系统,默认为国内中心系统。请参考以下几点进行设置:
注意:
- joinRoom 前调用生效。国外用户必须调用,国内用户可以不调用。
- 仅在 destroyEngine 时重置。
参数 | 描述 |
---|---|
area | 用户国家区域,可选值见 AreaType 类属性 |
public void setSceneId(long sceneId)
设置场景Id,用于给用户细分业务场景,不需要可不调用。
参数 | 描述 |
---|---|
sceneId | 业务场景ID,用以区分业务场景的数据;例如同一个App同时有语音房、KTV、秀场直播等,可分别设置sceneId,数据统计后台可以根据sceneId统计分析不同场景下的数据。 如果不需要,可以填0 |
public int setMediaMode(int mode)
设置媒体模式。
注意:
- 需要进入房间 (joinRoom) 前调用。
- 仅在 destroyEngine 被重置。
参数 | 描述 |
---|---|
mode | 媒体模式,可选值见 ThunderRtcProfile 类属性 |
public int setRoomMode(int mode)
设置房间模式。
注意:
- 仅在 destroyEngine 被重置。
- 参数可选值只能为文档所列举的 RoomConfig 选项。
参数 | 描述 |
---|---|
mode | 房间模式,可选值见 RoomConfig 类属性 |
public int joinRoom(byte[] token, String roomName, String uid)
加入房间。
注意:
- 使用不同 appId 的 应用不能互通。
- 函数返回成功仅表示请求执行成功,加入房间成功的标志是收到 onJoinRoomSuccess 回调。
名称 | 描述 |
---|---|
token | 鉴权所需,详见 Token鉴权 |
roomName | 房间名称(需保证一个AppId内唯一),只支持 [A,Z],[a,z],[0,9],-,_ 等字符的排列组合,且长度不能超过64个字节 |
uid | 用户ID,只支持 [A,Z],[a,z],[0,9],-,_ 等字符的排列组合,且长度不能超过64个字节 |
public int leaveRoom()
离开房间,退出或则挂断当前通话。
注意:
public int updateToken(byte[] token)
刷新Token。
Token具有时效性,当收到 onTokenWillExpire(Token即将过期)或 onTokenRequest(Token过期)回调时,客户端需重新调用该API刷新Token;否则Token过期后,SDK与服务器会断开连接,导致服务中断。
参数 | 描述 |
---|---|
token | 新Token,Token格式详见 Token鉴权 |
public int switchUserRole(int role)
切换用户角色。
参数 | 描述 |
---|---|
role | 用户角色类型,可选值详见 ThunderUserRole |
public void setAudioSourceType(int sourceType)
设置音频开播模式。
参数 | 描述 |
---|---|
sourceType | 音频开播模式,可选值详见 SourceType 类属性 |
public int setAudioConfig(int profile, int commutMode, int scenarioMode)
用于设置音频参数和应用场景。
注意:
- 需在音频开播 stopLocalAudioStream 前调用。
参数 | 描述 |
---|---|
profile | 音频类型,可选值详见:AudioConfig 类属性 |
commuMode | 交互模式,可选值详见:CommutMode 类属性 |
scenarioMode | 情景模式,可选值详见:ScenarioMode 类属性 |
public int setMicVolume(int volume)
设置麦克风音量。
参数 | 描述 |
---|---|
volume | 音量,取值范围:[0, 400],默认值:100 |
public int stopLocalAudioStream(boolean stop)
关闭/打开本地音频采集编码和推流。
注意:
- 需在进频道成功,收到 onJoinRoomSuccess 回调后才能调用该接口。
- 调用该API后会触发 onRemoteAudioStopped、onRemoteAudioStateChangedOfUid、onRemoteAudioPlay 回调。
参数 | 描述 |
---|---|
stop | true : 关闭本地音频采集、编码和推流 false : 打开本地音频采集、编码和推流 |
public int enableLocalAudioCapture(boolean enable);
打开/关闭本地音频采集
注意:
- 需在"初始化"后调用;销毁引擎会自动关闭音频采集。
- 使用 enableLocalAudioCapture,enableLocalAudioEncoder,enableLocalAudioPublisher 组合接口进行音频开播与使用 stopLocalAudioStream 进行音频开播是等效的。
- enableLocalAudioCapture,enableLocalAudioEncoder,enableLocalAudioPublisher 组合接口提供更高级的音频开播方法;如果你只是简单开播,简单使用 stopLocalAudioStream 方法即可。
- 如果已经使用 enableLocalAudioCapture,enableLocalAudioEncoder,enableLocalAudioPublisher 组合接口进行音频开播,建议不要再使用 stopLocalAudioStream 接口,以免功能覆盖产生疑惑,反之亦然。例如,先调用stopLocalAudioStream(false),再调用enableLocalAudioCapture(false),会关闭采集,但编码和推流还打开着;先调用stopLocalAudioStream(false),再调用enableLocalAudioEncoder(false),会关闭编码,但采集和推流还打开着;先调用enableLocalAudioEncoder(ture),再调用stopLocalAudioStream(true),会关闭采集、编码和推流;以此类推...
- 如果调用 setAudioSourceType 设置发布方式为 THUNDER_PUBLISH_MODE_NONE 时,调用此接口失败。
- 如果调用 setCustomAudioSource 开启外部推流,调用此接口失败。
参数 | 描述 |
---|---|
enable | true-打开本地音频采集 false-关闭本地音频采集 |
public int enableLocalAudioEncoder(boolean enable);
打开/关闭本地音频编码
注意:
- 需在"初始化"后调用;销毁引擎会自动关闭音频编码。
- 使用 enableLocalAudioCapture,enableLocalAudioEncoder,enableLocalAudioPublisher 组合接口进行音频开播与使用 stopLocalAudioStream 进行音频开播是等效的。
- enableLocalAudioCapture,enableLocalAudioEncoder,enableLocalAudioPublisher 组合接口提供更高级的音频开播方法;如果你只是简单开播,简单使用 stopLocalAudioStream 方法即可。
- 如果你已经使用 enableLocalAudioCapture,enableLocalAudioEncoder,enableLocalAudioPublisher 组合接口进行音频开播,建议不要再使用 stopLocalAudioStream 接口,以免功能覆盖产生疑惑,反之亦然。
- 如果调用 setAudioSourceType设置发布方式为 THUNDER_PUBLISH_MODE_NONE 时,调用此接口失败。
- 如果调用 setCustomAudioSource 开启外部推流,调用此接口失败。
参数 | 描述 |
---|---|
enable | true-打开本地音频编码 false-关闭本地音频编码 |
public int enableLocalAudioPublisher(boolean enable);
打开/关闭本地音频上行
注意:
- 需在进频道成功,收到 onJoinRoomSuccess 回调后才能调用该接口;退出频道会自动关闭音频发送。
- 使用 enableLocalAudioCapture,enableLocalAudioEncoder,enableLocalAudioPublisher 组合接口进行音频开播与使用 stopLocalAudioStream 进行音频开播是等效的。
- enableLocalAudioCapture,enableLocalAudioEncoder,enableLocalAudioPublisher 组合接口提供更高级的音频开播方法;如果你只是简单开播,简单使用 stopLocalAudioStream 方法即可。
- 如果你已经使用 enableLocalAudioCapture,enableLocalAudioEncoder,enableLocalAudioPublisher 组合接口进行音频开播,建议不要再使用 stopLocalAudioStream 接口,以免功能覆盖产生疑惑,反之亦然。
- 建议使用 setCustomAudioSource 和此接口开播外部推流。
参数 | 描述 |
---|---|
enable | true- 打开本地音频上行 false-关闭本地音频上行 |
public boolean isAudioCaptureEnabled();
本地音频设备是否可用。
注意:
- 需在初始化后使用
public boolean isAudioEncoderEnabled();
本地音频编码是否可用。
注意:
- 需在初始化后使用
public boolean isAudioPublisherEnabled();
本地音频开播是否可用。
注意:
- 需在初始化后使用
public int stopAllRemoteAudioStreams(boolean stop)
停止/接收所有远端音频数据。该接口按照如下规则处理:
注意:
- 订阅配置仅在destroyEngine 被重置
- 此接口跟 stopRemoteAudioStream 没有优先级关系,后调用的接口生效。
参数 | 描述 |
---|---|
stop | true : 停止所有远端音频 false : 接收所有远端音频 |
public int stopRemoteAudioStream(String uid, boolean stop)
停止/接收指定用户音频数据。
注意:
- 订阅配置仅在。destroyEngine。被重置。
- 停止接收指定音频流后,可以通过 stopAllRemoteAudioStreams 接收所有音频流,反之亦然。
- 此接口跟 stopAllRemoteAudioStreams 没有优先级关系,后调用的接口生效。
参数 | 描述 |
---|---|
uid | 远端用户的 uid |
stop | true:停止接收指定远端用户的音频流 false:开始接收指定远端用户的音频流 |
public int setRemoteAudioStreamsVolume(String uid, int volume)
设置指定远端用户音频流在本地的播放音量。
参数 | 描述 |
---|---|
uid | 远端用户的 uid |
volume | 音量,取值范围:[0, 400],默认值:100 |
public int setVideoEncoderConfig(ThunderVideoEncoderConfiguration yyVideoConfig)
设置视频编码配置。
参数 | 描述 |
---|---|
yyVideoConfig | 视频编码配置,详见 ThunderVideoEncoderConfiguration |
public int setVideoEncoderParameters(ThunderVideoEncoderParam videoEncoderParam, List<ThunderRtcVideoTransParam> rtcVideoTransParams)
设置视频自定义编码配置以及自定义转码档位。
videoEncoderParam
具体的视频编码参数进行视频编码。如果开发者有特殊的视频编码参数需求,可以联系技术支持进行个性化配置。参数 | 描述 |
---|---|
videoEncoderParam | 视频编码配置,详见 ThunderVideoEncoderParam |
rtcVideoTransParams | 视频转码档位列表,详见 ThunderRtcVideoTransParam |
public int setLocalVideoCanvas(ThunderVideoCanvas local)
设置本地视图。
不设置此视图,也可以打开预览和开播。设置此视图,则可以看到本地采集画面。
参数 | 描述 |
---|---|
local | 视频渲染画布实例,详见 ThunderVideoCanvas |
public int enableLocalVideoCapture(boolean enable)
开/关本地视频采集。
参数 | 描述 |
---|---|
enabled | 是否开启本地视频采集:true-打开,false(默认)- 关闭 |
注意事项
该API需要摄像头使用权限,若当前 App 没有摄像头权限,SDK 会向用户申请。
public int startVideoPreview()
开启本地视频预览。
public int stopVideoPreview()
停止本地视频预览。
public int startLocalVideoPreview()
开启本地视频预览。
public int stopLocalVideoPreview()
停止本地视频预览。
public int setLocalCanvasScaleMode(int mode)
设置本地视图的渲染模式。
参数 | 描述 |
---|---|
mode | 视图渲染显示模式,详见 ThunderVideoRenderMode |
public int setLocalVideoMirrorMode(int mode)
设置本地视频预览和推流时的镜像模式。
参数 | 描述 |
---|---|
mode | 镜像模式,可选值详见 ThunderVideoMirrorMode |
注意事项
public int stopLocalVideoStream(boolean stop)
停止/开启本地视频发送。
注意:
- 需在进频道成功,收到 onJoinRoomSuccess 回调后才能调用该接口。
- 调用该API后会触发 onRemoteVideoStopped、onRemoteVideoStateChangedOfUid、onVideoSizeChanged、onRemoteVideoPlay 回调。
参数 | 描述 |
---|---|
stop | true:停止本地视频发送 false:开启本地视频发送 默认为关闭状态 |
public ThunderVideoEncodeParam getVideoEncoderParam(ThunderVideoEncoderConfiguration videoConfig)
用户通过该方法传入视频编码配置,可获取对应的视频编码宽、高、帧率、码率编码信息。
参数 | 描述 |
---|---|
videoConfig | 视频编码配置,详见 ThunderVideoEncoderConfiguration |
public int setCaptureReplaceImage(Bitmap bitmap)
设置本地固定的推流画面,只支持摄像头采集和录屏采集场景,外部推流场景不支持,镜像与后置摄像头一致。
参数 | 描述 |
---|---|
Bitmap | 固定推流画面位图 传入参数为null的时候恢复为替换前的采集源(摄像头或者录屏) 已设置固定推流画面,传入新的bitmap,使用新的固定推流画面替换已设置的推流画面 当传入的图片的宽高比与设置的编码宽高比不一致时,SDK负责裁剪图片与编码宽高比一致 |
public int stopRemoteVideoStream(String uid, boolean stop)
是否订阅指定的远端用户视频。
参数 | 描述 |
---|---|
uid | 远端用户的 uid |
stop | true:停止订阅指定视频流 false:订阅指定视频流 |
public int stopAllRemoteVideoStreams(boolean stop)
是否订阅所有远端视频
参数 | 描述 |
---|---|
stop | true:停止订阅所有视频流 false:订阅所有视频流 默认值为false |
public int setRemoteCanvasScaleMode(String uid, int mode)
设置远端指定视图的拉伸模式。
说明: 该接口从V3.1.0开始已废弃,请改用 setRemoteCanvasMode。
参数 | 描述 |
---|---|
uid | 远端用户的 uid |
mode | 远端视图拉伸模式,可选值详见 ThunderVideoRenderMode |
public int setRemoteCanvasMode(String uid, int renderMode, int mirrorMode)
设置远端指定视图的拉伸模式和镜像模式。
参数
参数 | 描述 |
---|---|
uid | 远端用户的ID |
renderMode | 远端视图拉伸模式,可选值详见 ThunderVideoRenderMode |
mirrorMode | 远端视图镜像模式,可选值详见 ThunderRemoteMirrorMode |
返回
public int setMultiVideoViewLayout(ThunderMultiVideoViewParam params)
设置多路视频流在一个视图上显示时的布局参数
此函数多用于多人连麦场景。 当有多人连麦时,为了减少性能消耗,需要将多路视频流显示在一个视图 (View) 上。 调用此函数就是为了设置这多路视频流分别放置在视图中什么位置上。
同时支持设置背景图,布局背景图的显示位置。
参数 | 描述 |
---|---|
params | 多人连麦视频在渲染视图上的布局参数,详见 ThunderMultiVideoViewParam |
public int setRemoteVideoCanvas(ThunderVideoCanvas remote)
设置远端视频的渲染视图。
不设置此窗口,也可以订阅,但是没法显示视频。设置视图后才可以看到订阅的远端用户的视频画面。
参数 | 描述 |
---|---|
remote | 显示视图实例,详见 ThunderVideoCanvas |
@deprecated
public int setRemotePlayType(int remotePlayType)
设置远端用户视频在本地渲染视图的类型。默认为普通观众 view。
注意:
- 该接口从 V3.3.0 开始已经废弃,观看场景无需再调用。
参数 | 描述 |
---|---|
remotePlayType | 观众端渲染视图的类型,可选值详见 ThunderRtcRemotePlayType |
public int getConnectionStatus()
主动查询网络连接状态,初始化sdk后可调用。
public int setLiveTranscodingTask(String taskId, LiveTranscoding transcoding)
添加/更新转码任务。
参数 | 描述 |
---|---|
taskId | 转码任务标识,由业务管理,需保证房间内唯一,只支持[A,Z],[a,z],[0,9],等字符的排列组合,且长度不能超过20个字节 |
transcoding | 混流转码配置信息, 详见 LiveTranscoding |
public int removeLiveTranscodingTask(String taskId)
删除转码任务。
调用该接口后,后台会删除并停止混流任务,但是不会删除addPublishTranscodingStreamUrl添加的url。
参数 | 描述 |
---|---|
taskId | 混流转码任务标识,由开发者进行生成及管理,需保证全局唯一性,只支持[A,Z],[a,z],[0,9]等字符的排列组合,且长度不能超过20个字节 |
public int addPublishTranscodingStreamUrl(String taskId, String url)
添加混流旁路推流地址。
调用该接口,将混合流推送到指定的CDN地址。
说明:
- 该API需在进入房间(joinRoom)并调用 setLiveTranscodingTask 添加转码任务后再调用,退出房间(leaveRoom)会清空该配置。需要调用 接口添加转码任务后,再调用此接口。
- 调用该接口后,会将指定混流推送到指定的CDN地址。若要更新url需要先调用 removePublishTranscodingStreamUrl 删除原地址后再添加。
- 最多支持5个推流地址。
- 调用该API会触发推流结果回调 onPublishStreamToCDNStatus。
参数 | 描述 |
---|---|
taskId | 转码任务标识,由用户管理生成,需保证全局唯一性,只支持由a-zA-Z0-9组成的20字符以内的字符集 |
url | RTMP协议的CDN推流地址,不支持中文等特殊字符,最大长度为512字节 注意: 某些CDN厂家可能不支持512字节,例如阿里云只支持256字节 |
public int removePublishTranscodingStreamUrl(String taskId, String url)
删除转码流的推流地址。
参数 | 描述 |
---|---|
taskId | 转码任务标识,由应用程序生成,需保证全局唯一性,只支持由a-zA-Z0-9组成的20字符以内的字符集 |
url | 要删除的推流地址,格式为 RTMP。不支持中文等特殊字符 该地址长度不能超过 512 字节 注意:某些CDN厂家可能不支持512字节,例如阿里云只支持256字节。 |
public int addPublishOriginStreamUrl(String url)
添加源流的旁路推流地址。
调用该API后,SDK会将主播当前音视频源流推送到指定的CDN地址。
说明:
- 最多支持5个推流地址。
- 若需要更新url需要,请先调用 removePublishOriginStreamUrl 删除原地址后再添加。
- 该API需要进房间 joinRoom 后才能调用,退出房间 leaveRoom 会清空该配置。
- 调用该API会触发推流结果回调 onPublishStreamToCDNStatus。
参数 | 描述 |
---|---|
url | RTMP协议的CDN推流地址,不支持中文等特殊字符,最大长度为512字节 注意: 某些CDN厂家可能不支持512字节,例如阿里云只支持256字节 |
public int removePublishOriginStreamUrl(String url)
删除原流推流地址。
调用该接口后,会停止将主播当前音视频流推送到指定的CDN地址。
参数 | 描述 |
---|---|
url | RTMP协议的CDN推流地址,不支持中文等特殊字符,最大长度为512字节 注意: 某些CDN厂家可能不支持512字节,例如阿里云只支持256字节 |
public int enableMixVideoExtraInfo(boolean enable)
开启混画带媒体次要信息,例如:混画视频中带布局信息。 开启后在观众端播放此混画流时能收到 onRecvMixVideoInfo 回调
参数 | 描述 |
---|---|
enable | true: 打开 false: 关闭 默认关闭 |
public boolean startAudioSaver(String fileName, int saverMode, int fileMode)
开始将音频数据保存成aac格式的文件。
说明: 该接口从v3.1.0开始已经废弃,请改用 startAudioRecord.
参数 | 描述 |
---|---|
fileName | 文件保存路径,必须是完整的绝对路径,包括文件名,文件名的后缀必须是.aac。其中保存文件的目录必须是已经创建好的,该接口不提供创建文件夹的功能。例如:/sdcard/helloworld.aac |
saverMode | 音频保存模式,可选值详见 AudioSaverMode 类属性 |
fileMode | 音频文件写入模式,可选值详见 AudioSaverWfMode 类属性 |
public boolean stopAudioSaver()
停止将音频数据保存成aac格式的文件。
说明: 该接口从v3.1.0开始已经废弃,请改用 stopAudioRecord。
public int startAudioRecord(String fileName, int saverMode, int sampleRate, int quality)
开始音频录制,并保存为AAC或WAV格式的文件。
说明
参数
参数 | 描述 |
---|---|
fileName | 文件保存路径,必须是完整的绝对路径,包括文件名,文件名的后缀必须是.aac或.wav。其中保存文件的目录必须是已经创建好的,该接口不提供创建文件夹的功能。例如:/sdcard/helloworld.aac |
saverMode | 音频保存模式,可选值详见 AudioSaverMode 类属性 |
sampleRate | 录音采样率 (Hz),可设置为 16000,(默认)32000,44100 或 48000 |
quality | 音频保存音质,可选值详见 AudioSaverQuality 类属性 |
返回
public int stopAudioRecord()
停止音频录制。
返回
public int addSubscribe(String roomId, String uid)
跨房间订阅指定用户的流。
在已加入房间的前提下,去订阅其他房间的音视频流。即需要收到 onJoinRoomSuccess (加入房间成功回调)之后才能调用,退出房间会清空该配置。
参数 | 描述 |
---|---|
roomId | 房间号,只支持 [A,Z],[a,z],[0,9],-,_ 等字符的排列组合,且长度不能超过64个字节 |
uid | 用户ID,想要订阅的音视频流对应的主播 uid |
public int removeSubscribe(String roomId, String uid)
取消跨房间订阅指定用户的流。
参数 | 描述 |
---|---|
roomId | 房间号,只支持 [A,Z],[a,z],[0,9],-,_ 等字符的排列组合,且长度不能超过64个字节 |
uid | 用户ID,想要取消订阅的音视频流对应的主播 uid |
public int subscribeRoom(String roomId)
跨房间订阅指定房间。
说明:
- 需要 onJoinRoomSuccess 后才能调用,使用 unsubscribeRoom 或者 leaveRoom 后取消订阅房间。
- 如果房间内的用户有流状态修改,回调通知是 onRemoteVideoArrived 和 onRemoteAudioArrived
- 如果调用 addSubscribe 后,可以调用此接口订阅同一个房间,此时第一次回调会过滤掉前一次调用 addSubscribe 用户的回调
- 调用此接口后,只能通过 unsubscribeRoom 去掉订阅房间,调用 removeSubscribe 返回错误
参数 | 类型 | 描述 |
---|---|---|
roomId | IN | 房间号【只支持[A,Z],[a,z],[0,9],-,_,等字符的排列组合,且长度不能超过64个字节】 |
public int unsubscribeRoom(String roomId)
退订指定房间。
说明:
- 需要 onJoinRoomSuccess 后调用,在调用 addSubscribe 或者 subscribeRoom 后使用
- 调用此接口,回调通知是 onRemoteVideoArrived 和 onRemoteAudioArrived
参数 | 类型 | 描述 |
---|---|---|
roomId | IN | 房间号【只支持[A,Z],[a,z],[0,9],-,_,等字符的排列组合,且长度不能超过64个字节】 |
public boolean isFrontCamera()
是否为前置摄像头
public boolean isCameraFocusSupported();
摄像头是否支持手动对焦
public boolean isCameraExposurePositionSupported();
摄像头是否支持手动曝光
public boolean isCameraZoomSupported();
摄像头是否支持缩放
public float getCameraMaxZoomFactor();
得到摄像头的最大缩放值
public int setCameraZoomFactor(float zoomFactor);
设置摄像头缩放比例
参数 | 描述 |
---|---|
zoomFactor | 相机缩放比例,有效范围从 1.0 到最大缩放 |
public boolean isCameraTorchSupported();
检测设备是否支持闪光灯常开
public boolean isCameraTorchOpen();
手电筒是否开启。
说明:
- 调用前需要先打开摄像头,可以通过isCameraOpen判断摄像头是否打开
- 默认判断前置摄像头,如需判断后置摄像头请先调用switchFrontCamera进行切换
- 切换了摄像头(调用了switchFrontCamera),需要重新调用
public int setCameraTorchOn(boolean isOn);
设置是否打开闪光灯
参数 | 描述 |
---|---|
isOn | true: 打开, false: 关闭 |
public int setCameraFocusPositionInPreview(float posX, float posY);
设置手动对焦位置,并触发对焦。成功调用该方法后,本地会触发 onCameraFocusAreaChanged 回调。
参数 | 描述 |
---|---|
posX | 触摸点相对于视图的横坐标 |
posY | 触摸点相对于视图的纵坐标 |
public int setCameraExposurePosition(float posX, float posY);
设置手动曝光位置。成功调用该方法后,本地会触发 onCameraExposureAreaChanged 回调。
参数 | 描述 |
---|---|
posX | 触摸点相对于视图的横坐标 |
posY | 触摸点相对于视图的纵坐标 |
public boolean isCameraAutoFocusFaceModeSupported();
检测设备是否支持人脸对焦功能。
public int setCameraAutoFocusFaceModeEnabled(boolean enable);
设置是否开启人脸对焦功能
参数 | 描述 |
---|---|
enable | true: 开启人脸对焦功能, false: 关闭人脸对焦功能 |
public int getVideoCaptureOrientation();
获取摄像头方向
public int setVideoCaptureOrientation(int orientation)
设置摄像头开播角度(旋转0/90/180/270度)。
参数 | 描述 |
---|---|
orientation | 摄像头开播角度。可选值详见 ThunderVideoCaptureOrientation |
public int switchFrontCamera(boolean bFront)
切到前/后置摄像头。
参数 | 描述 |
---|---|
bFront | true:启用前置摄像头 false:启用后置摄像头 |
public boolean isCameraOpen()
摄像头是否打开
public int setVideoWatermark(ThunderBoltImage watermark)
给本地开播的视频流设置水印。
参数 | 描述 |
---|---|
watermark | 水印图片,详见 ThunderBoltImage;设置为null表示取消水印 |
public int enableLocalDualStreamMode(boolean enabled);
打开/关闭视频双流模式。
说明:
- 在“初始化"后且视频开播前调用,仅在 destroyEngine 时重置。
- 使用该方法设置单流(默认)或者双流模式。发送端开启双流模式后,接收端可以选择接收大流还是小流。
- 大流指高分辨率、高码率的视频流,小流指低分辨率、低码率的视频流。
参数 | 描述 |
---|---|
enabled | 是否启用双流模式:YES-双流模式,NO-单流模式(默认) |
public int setDefaultRemoteVideoStreamType(int type);
设置默认订阅的视频流类型。
说明:
- 在"初始化"后且进房间前调用,在 destroyEngine 会重置。
- 接收远端视频流的类型优先判断 changeRemoteVideoStreamType 设置的值,没有的话再使用该函数设置的值,如果这两个接口都没调用,默认订阅远端视频流都是大流。
参数 | 描述 |
---|---|
type | 设置默认接收的视频流类型,参见 ThunderVideoStreamType |
public int changeRemoteVideoStreamType(String uid, int type);
设置订阅的视频流类型。
注意:
- 在"初始化"后调用,在 destroyEngine 和 leaveRoom 时会重置。
- 发送端如果调用 enableLocalDualStreamMode(true) 开启双流模式,接收端可选择接收大流还是小流,如果发送端不开启双流模式,接收端默认接收大流。
- 接收远端视频流的类型优先判断该接口设置的值,没有的话再使用 setDefaultRemoteVideoStreamType 设置的值,如果这两个接口都没调用,默认订阅远端视频流都是大流。
参数 | 描述 |
---|---|
uid | 用户 UID |
type | 视频流类型,参见 ThunderVideoStreamType |
public Bitmap captureRemoteScreenShot(String uid)
获取远端视频截图。
参数 | 描述 |
---|---|
uid | 远端用户uid |
public Bitmap captureLocalScreenShot()
获取本地视频截图。
public void setVoiceChanger(int mode)
设置变声模式。
参数 | 描述 |
---|---|
mode | 变声模式,可选值详见 VoiceChangerMode 类属性 |
public void setSoundEffect(int mode)
设置音效模式。
参数 | 描述 |
---|---|
mode | 音效模式,可选值详见 SoundEffectMode 类属性 |
public int setEnableEqualizer(boolean enabled)
开/关本地语音均衡器。
参数 | 描述 |
---|---|
enabled | true: 打开 false: 关闭 |
public int setEqGains(final int[] gains)
设置均衡器参数。
参数 | 描述 |
---|---|
gains | 每个元素的取值范围为:-12 <= gains[i] <= 12, 其中i取值范围是 0<= i <=10 |
public int setEnableReverb(boolean enabled)
开/关本地音效混响。
参数 | 描述 |
---|---|
enabled | true: 打开 false: 关闭 |
public int setReverbExParameter(ReverbExParameter param)
设置音效混响参数。
参数 | 描述 |
---|---|
param | 音效混响参数,详见 ReverbExParameter |
public int setEnableCompressor(boolean enabled)
开/关音效压缩器。
说明: 该接口已经废弃。
参数 | 描述 |
---|---|
enabled | true: 打开 false: 关闭 |
public int setCompressorParam(CompressorParam param)
设置音效压缩器参数。
说明: 该接口已经废弃。
参数 | 描述 |
---|---|
param | 音效压缩器参数,详见 CompressorParam |
public int setEnableLimiter(boolean enabled)
开/关压限器。
参数 | 描述 |
---|---|
enabled | true: 打开 false: 关闭 |
public int setLimiterParam(LimterParam param)
设置压限器参数。
参数 | 描述 |
---|---|
param | 压限器参数,详见 LimterParam |
public int setVoicePitch(float pitch)
设置语音音调。
注意:
- 需要"初始化"后调用,仅在destroyEngine时重置
- pitch取值越小,则音调越低。
参数 | 描述 |
---|---|
pitch | 语音音调,参数范围:[-12, 12];默认值为0 |
public int enableVoicePosition(boolean enable)
开启/关闭远端用户的语音立体声。
注意:
- 在 joinRoom 前调用该方法。
参数 | 描述 |
---|---|
enable | true : 开启远端用户的语音立体声 false : 关闭远端用户的语音立体声 |
public int setRemoteUidVoicePosition(String uid, int azimuth, int gain)
设置远端用户声音的空间位置和音量。
参数 | 描述 |
---|---|
uid | 远端用户的uid |
azimuth | 设置远端用户声音出现的位置,取值范围[-90,90], 0:(默认)声音出现在正前方, -90:声音出现在左边, 90:声音出现在右边 |
gain | 设置远端用户声音的音量,取值范围[0,100], 默认值为 100.0,表示该用户的原始音量。取值越小,则音量越低 |
public int setAudioVolumeIndication(int interval,
int moreThanThd,
int lessThanThd,
int smooth)
调用该方法开启是否回调说话者音量提示。
注意:
- 仅在destroyEngine时重置。
- 不含本地麦克风采集或者文件播放的声音音量。
参数 | 描述 |
---|---|
interval | 回调时间间隔,单位为毫秒, <=0时: 禁用SDK的音量提示功能 >0时: 以此数值作为时间间隔启用音量提示;建议大于200毫秒,默认值为0 |
moreThanThd | 从 < moreThanThd 到 >= moreThanThd,立即回调一次(此时不受interval约束) <= 0无效,取值范围:[0,100],默认 值:0 |
lessThanThd | 从 >= lessThanThd 到 < lessThanThd,立即回调一次(此时不受interval约束) <= 0无效,取值范围:[0,100],默认 值:0 |
smooth | 暂无作用, 填0即可 |
public int enableCaptureVolumeIndication(int interval,
int moreThanThd,
int lessThanThd,
int smooth)
启用采集音量提示。
调用该API后,SDK会在预设间隔触发 onCaptureVolumeIndication 向App反馈麦克风采集音量值和音量采集时间。
参数 | 描述 |
---|---|
interval | 回调时间间隔,单位为毫秒, <= 0 时: 禁用采集音量提示功能 > 0 时: 以此数值作为时间间隔启用采集音量提示;默认值为0 |
moreThanThd | 从 < moreThanThd 到 >= moreThanThd,立即回调一次(此时不受interval约束) <= 0 无效,默认 = 0 |
lessThanThd | 从 >= lessThanThd到 < lessThanThd,立即回调一次(此时不受interval约束) <= 0 无效,默认 = 0 |
smooth | 暂无作用, 填0即可 |
public int enableLoudspeaker(boolean enabled)
调用该方法以开启或关闭扬声器播放。
参数 | 描述 |
---|---|
enabled | true:扬声器播放 false:听筒播放 |
public boolean isLoudspeakerEnabled()
查询扬声器启用状态。
public int setLoudSpeakerVolume(int volume)
设置扬声器音量。
参数 | 描述 |
---|---|
volume | 音量,取值范围:[0, 400],默认值:100 |
public int setEnableInEarMonitor(boolean enable)
开/关耳返。
参数 | 描述 |
---|---|
enabled | true:打开 false:关闭 默认为关闭状态 |
public int setEarMonitoringVolume(int volume)
设置耳返音量。
注意
需要"初始化"后调用,仅在destroyEngine时重置
参数 | 描述 |
---|---|
volume | 音量,取值范围:[0, 100],默认值:100 |
public int adaptToSystemKaraoke(boolean enable)
是否对硬件耳返的机型进行适配。
说明:
- 需要"初始化"后进房间前调用,设置为 true,SDK对支持系统耳返的机型做音频采集播放 API 的适配。
- 该接口主要是为了适配用系统耳返用,如果没有使用系统耳返,建议不需要调用此接口。
参数 | 描述 |
---|---|
enable | SDK是否启用机型适配:true-是,false-否 |
public int enableEchoDetector(boolean enabled)
开/关回声检测。
参数 | 描述 |
---|---|
enabled | true:启动回声检测;false:关闭回声检测;默认为false |
public int enableHowlingDetector(boolean enabled)
启动/关闭啸叫检测。
参数 | 描述 |
---|---|
enabled | true:启动啸叫检测;false:关闭啸叫检测;默认为false |
public int enableMicDenoise(boolean enabled)
开/关降噪处理。
参数 | 描述 |
---|---|
enabled | true:启动降噪处理;false:关闭降噪处理。 |
public boolean isMicDenoiseEnabled()
查询是否已打开降噪处理。
注意事项
该接口需在需要初始化后调用。
public int enableAGC(boolean enabled)
开/关AGC。
参数 | 描述 |
---|---|
enabled | true:启动AGC处理;false:关闭AGC处理。 |
public int enableAIDenoise(boolean enabled)
开/关降噪处理。
参数 | 描述 |
---|---|
enabled | true:启动AI降噪处理;false:关闭AI降噪处理。 |
public int enableLocalSpeakingDetector(boolean enabled)
启动/关闭本地说话状态检测。
参数 | 描述 |
---|---|
enabled | true:启动本地说话状态检测;false:关闭本地说话状态检测。 |
public int sendMediaExtraInfo(java.nio.ByteBuffer data, int dataLen)
发送媒体次要信息。 当有视频上行的时候就只用视频通道发送,否则用音频通道。
具体约束如下:
通过 onSendMediaExtraInfoFailedStatus 获得发送媒体次要信息失败的原因。 通过 onRecvMediaExtraInfo 接口函数,接收其他用户发来的媒体次要信息。
参数 | 描述 |
---|---|
data | 需要传输的媒体次要信息数据,必须使用ByteBuffer.allocateDirect(int)创建 |
dataLen | 媒体次要信息数据长度, 只有音频开播(纯音频模式开播或音视频模式下只开播音频), 媒体次要信息大小不超过200字节, 音视频模式下有视频开播,次要信息不超过2048字节 |
public int setMediaExtraInfoCallback(IThunderMediaExtraInfoCallback callback)
设置媒体次要信息的回调监听。
参数 | 描述 |
---|---|
callback | 媒体次要信息回调实例对象,详见 IThunderMediaExtraInfoCallback |
public void enableAudioPlaySpectrum(boolean enable)
启用/关闭音频播放频谱数据回调(onAudioPlaySpectrumData)。
启用后,SDK会将播放的音频的频谱数据通过 onAudioPlaySpectrumData 回调函数中收到回调
参数 | 描述 |
---|---|
enable | 是否启用 onAudioPlaySpectrumData:YES-启用,NO-关闭(默认) |
public void setAudioPlaySpectrumInfo(int spectrumLen, int notifyIntervalMS)
设置音频播放频谱数据回调信息。
参数 | 描述 |
---|---|
spectrumLen | 频谱数据的长度 [12 - 256],默认是256 |
notifyIntervalMS | 频谱回调的时间间隔,必须是10的倍数,默认是30MS |
public int registerAudioFrameObserver(IAudioFrameObserver observer)
注册音频帧观测器。
参数 | 描述 |
---|---|
observer | 音频帧数据观测器对象,可获取音频帧数据并加以处理, 详见 IAudioFrameObserver 如果传入 null, 则取消注册 |
public int setMixedAudioFrameParameters(int sampleRate, int channels, int samplesPerCall)
设置录制与播放声音混音后的数据格式。
参数 | 描述 |
---|---|
sampleRate | 采样率 |
channels | 通道数:1-单声道、2-双声道 |
samplesPerCall | 采样点数 |
public int setRecordingAudioFrameParameters(int sampleRate, int channel, int mode, int samplesPerCall)
设置回调采集数据的格式。
参数 | 描述 |
---|---|
sampleRate | 指定回调音频数据的采样率,可设置为 8000,16000,32000,44100 或 48000 |
channel | 指定回调音频数据的通道数;1:单声道,2:双声道 |
mode | 指定对回调音频数据的操作模式,详见 ThunderAudioRawFrameOperationMode |
samplesPerCall | 指定回调音频数据的采样点数,如转码推流应用中通常为 1024。samplesPerCall = (int)(sampleRate × sampleInterval),其中:sampleInterval ≥ 0.01,单位为秒。 |
public int setPlaybackAudioFrameParameters(int sampleRate, int channel, int mode, int samplesPerCall)
设置音频播放的原始数据使用模式。
参数 | 描述 |
---|---|
sampleRate | 指定回调音频数据的采样率,可设置为 8000,16000,32000,44100 或 48000 |
room | 指定回调音频数据的通道数;1:单声道,2:双声道 |
mode | 指定对回调音频数据的操作模式,详见 ThunderAudioRawFrameOperationMode |
samplesPerCall | 指定回调音频数据的采样点数,如转码推流应用中通常为 1024。samplesPerCall = (int)(sampleRate × sampleInterval),其中:sampleInterval ≥ 0.01,单位为秒。 |
public int registerVideoCaptureTextureObserver(IGPUProcess observer)
注册采集视频纹理数据观测器对象,用于美颜等处理等。
说明: 该接口已经废弃,请改用 registerVideoCaptureTextureFrameObserver。
参数 | 描述 |
---|---|
observer | 采集视频纹理数据观测器对象实例,可获取每一帧video的渲染纹理数据并加以处理, 详见 IGPUProcess 如果传入 null, 则取消注册 |
public int registerVideoCaptureTextureFrameObserver(VideoTextureFrameObserver observer)
注册采集视频纹理数据观测器对象,用于美颜等处理等。
参数 | 描述 |
---|---|
observer | 采集视频纹理数据观测器对象实例,可获取每一帧video的渲染纹理数据并加以处理, 详见 VideoTextureFrameObserver 如果传入 null, 则取消注册 |
public int registerVideoCaptureFrameObserver(IVideoCaptureObserver observer)
注册摄像头采集数据观测器对象。
参数 | 描述 |
---|---|
observer | 摄像头采集数据观测器对象实例,可获取video camera yuv采集数据和video渲染数据, 详见 IVideoCaptureObserver 如果传入 null, 则取消注册 |
public int registerVideoCaptureFrameDataObserver(IVideoCaptureFrameObserver observer)
注册摄像头采集数据观测器对象。在使用registerVideoCaptureFrameObserver之后,使用此接口会报错。此接口会将摄像头的采集数据封装成VideoFrame返回给开发者。
参数 | 描述 |
---|---|
observer | 摄像头采集数据观测器对象实例,可获取video camera yuv采集数据和video渲染数据, 详见 IVideoCaptureFrameObserver 如果传入 null, 则取消注册 |
public int registerVideoDecodeFrameObserver(String uid, IVideoDecodeObserver observer)
给指定用户注册解码后YUV(I420)视频数据观测器对象。
参数 | 描述 |
---|---|
uid | 需要监测的用于 uid |
observer | 解码后视频数据观测器对象,可获取解码后的视频数据并加以处理, 详见 IVideoDecodeObserver 如果传入 null, 则取消注册 |
public int setCustomAudioSource(boolean enabled, int sampleRate, int channel)
设置外部音频推流源采集参数。
参数 | 描述 |
---|---|
enabled | 是否开启外部音频采集。 true:开启 false:关闭(默认) |
sampleRate | 采样率,可设置为 8000,16000,32000,44100 或 48000 |
channel | 通道数(最多支持两个声道) |
public int pushCustomAudioFrame(byte[] data, long timeStamp)
推送外部源音频帧。
参数 | 描述 |
---|---|
data | 外部PCM音频帧数据 |
timeStamp | 外部音频帧的时间戳,用于和外部视频源同步 |
public int setCustomVideoSource(ThunderCustomVideoSource videoSource)
设置自定义视频源。
用户需要实现 ThunderCustomVideoSource 接口,监听相应的方法,在 onInitialize 函数中,使用 consumeByteArrayFrame 函数将外部视频流上行。 其中,3.3版本新增 consumeVideoFrame 函数替代consumeByteArrayFrame 实现外部视频流上行推流,支持纹理或者YUV两种类型,内部封装新增支持采集到编码分辨率的裁剪模式设置;
参数 | 描述 |
---|---|
videoSource | 外部视频源,详见 ThunderCustomVideoSource |
注意事项 调用该API前,需先调用 setLocalVideoCanvas 实现视频本地渲染。
public int setRtcDefaultTransIdInAuto(int defaultTransIdInAuto)
使用自动档位模式时,拉流的起始档位。
subTransId
为255时,必须调用该接口。rtcVideoTransParams
中的 rtcVideoTransId
对应(开播设置的参数会通过onRemoteVideoTransId回调);如果主播无此 rtcVideoTransId
,那么会匹配最接近的rtcVideoTransId
或源流。参数 | 描述 |
---|---|
defaultTransIdInAuto | 拉流的起始档位,范围:[0,254] 0(默认)-源流,其他-转码 |
public int setSubscribeVideoTransId(String uid, int subTransId)
设置拉流的档位。
参数 | 描述 |
---|---|
uid | 主播UID |
subTransId | 档位,范围:[0,254] 0(默认)-源流,1-254-转码档, 255-自动档,调用 leaveRoom 后重置 |
public int getPlayingVideoTransId(String uid)
获取正在播放的转码档位。
参数 | 描述 |
---|---|
uid | 主播UID |
public int sendUserAppMsgData(byte[] msgData)
在房间内发送开发者自定义广播消息。
该接口通过媒体UDP通道发送消息,具有低延时和不可靠的特性。具体约束如下:
通过 onSendAppMsgDataFailedStatus 接口函数,获得发送该msg失败的原因。 通过 onRecvUserAppMsgData 接口函数,获取其他用户发来的自定义广播消息。
参数 | 描述 |
---|---|
msgData | 发送的消息 |
public int enableWebSdkCompatibility(boolean enabled)
开/关WebSDK兼容。
启用后,与Web SDK互通时可确保兼容性,避免在Web端观看异常。
参数 | 描述 |
---|---|
enabled | true: 兼容 false: 不兼容(默认) |
public static int setLogFilePath(String filePath)
设置 SDK 日志存储路径,输出SDK日志。
SDK 日志输出有2种方式:
方式1:调用该API,由App指定输出目录并保证目录可写,SDK 自行输出日志到指定目录文件,且debug下在logcat中输出。
方式2:调用 setLogCallback,SDK 通过 onThunderLogWithLevel 回调日志消息给应用程序,由应用程序自行处理日志消息。
注意:
- 请确保App指定的目录有写入权限。
- 调用 setLogCallback 后,该API失效。
参数 | 描述 |
---|---|
filePath | 日志存储路径 |
- 0: 方法调用成功 - <0: 方法调用失败。返回码详见 ThunderRet
public static int setLogCallback(IThunderLogCallback callback)
设置日志回调,输出SDK日志。
SDK 日志输出有2种方式:
方式1:调用该API,SDK通过 onThunderLogWithLevel 回调日志消息给App,由App自行处理日志消息。
方式2:调用 setLogFilePath,由App指定输出目录并保证目录可写,SDK 自行输出日志到指定目录文件,且debug下在logcat中输出。
注意:
调用 setLogFilePath后,该API失效。
参数 | 描述 |
---|---|
callback | 回调接口实例,详见 IThunderLogCallback |
public static int setLogLevel(int filter)
设置日志级别。
参数 | 描述 |
---|---|
filter | 日志等级,使用 ThunderLogLevel 常量类的属性进行设置 |
public ThunderAudioFilePlayer createAudioFilePlayer()
创建音频文件播放器实例对象。
public void destroyAudioFilePlayer(ThunderAudioFilePlayer audioFilePlayer)
销毁指定的音频文件播放器实例对象。
参数 | 描述 |
---|---|
audioFilePlayer | ThunderAudioFilePlayer 类型的音频文件播放器实例对象 |
以下接口属于ThunderAudioFilePlayer类。
public void open(final String path)
打开需要播放的文件,支持文件格式:mp3、aac、wav。
参数 | 描述 |
---|---|
path | 音频文件路径 |
public void close()
关闭播放文件,可以重新调用 open。
public void play()
开始播放。
public void stop()
停止播放,调用 play 重新开始播放。
public void pause()
暂停播放,调用 resume 继续播放。
public void resume()
继续播放。
public void seek(final long timeMS)
跳转到指定的播放时间。
参数 | 描述 |
---|---|
timeMS | 需要跳转到的时间点(单位:毫秒),不应该大于 getTotalPlayTimeMS 获取的值 |
public long getTotalPlayTimeMS()
获取文件的总播放时长。
public long getCurrentPlayTimeMS()
获取当前已经播放的时长。
public void setPlayVolume(int volume)
设置当前音乐文件在本地(主播端)和远端(观众端)的播放音量。
参数 | 描述 |
---|---|
volume | 音量,取值范围:[0, 100],默认值:100 |
public int setPlayerLocalVolume(int volume)
调节音乐文件在本地播放的音量大小。方法需要在频道内调用。
参数 | 描述 |
---|---|
volume | 音量,取值范围:[0, 100],默认值:100 |
public int setPlayerPublishVolume(int volume)
调节音乐文件在远端播放的音量大小。方法需要在频道内调用。
参数 | 描述 |
---|---|
volume | 音量,取值范围:[0, 100],默认值:100 |
public int getPlayerLocalVolume()
获取音乐文件在本地播放的音量大小。
public int getPlayerPublishVolume()
获取音乐文件在远端播放的音量大小。
public int getAudioTrackCount()
获取音频文件的音轨数量。
注意:
- 需在收到 onAudioFileStateChange 的AUDIO_PLAY_EVENT_OPEN打开文件成功回调事件后,再调用该接口获取音轨。
public int selectAudioTrack(int audioTrack)
切换到指定音轨。
参数 | 描述 |
---|---|
audiotrack | 要切换到的指定音轨,0 表示文件第一条音轨 |
public void setSemitone(int val)
设置音频播放的音调。
参数 | 描述 |
---|---|
val | 音调值,取值范围:[-5, 5],默认值:0(原始音调) 取值越大,音调越高 |
public int setLooping(int cycle)
设置循环播放次数。
参数 | 描述 |
---|---|
cycle | -1: 表示无限循环 0: 无循环(默认值) 正整数:循环次数 |
public void enablePublish(boolean enable)
是否将当前播放的音频文件作为直播伴奏使用。
参数 | 描述 |
---|---|
enable | true: 开启 false:关闭(默认) |
public void setTempo(float tempo)
设置音频播放的速率。
参数 | 描述 |
---|---|
tempo | 播放速率,0.5f, 0.75f, 1.0f, 1.25f, 1.5f, 2.0f |
public void setPosition(int azimuth)
设置音频播放的方位。
参数 | 描述 |
---|---|
azimuth | 播放方位:-90-正左方、0-正前方、90-正右方,取值范围:[-90, 90] |
public synchronized void setPlayerNotify(IThunderAudioFilePlayerCallback callback)
设置音频文件播放器回调接口,deprecated,建议使用setPlayerEventCallback。
说明: 该接口已废弃。
参数 | 描述 |
---|---|
callback | 音频文件播放器回调接口,详见 IThunderAudioFilePlayerCallback |
public synchronized void setPlayerEventCallback(IThunderAudioFilePlayerEventCallback callback)
设置音频文件播放器回调接口。
参数 | 描述 |
---|---|
callback | 音频文件播放器回调接口,详见 IThunderAudioFilePlayerEventCallback |
public synchronized void enableVolumeIndication(boolean enable, int interval)
打开音频文件播放音量回调。
参数 | 描述 |
---|---|
enable | true: 开启 false:关闭(默认) |
interval | 回调时间间隔(单位:毫秒)。建议设置为 200ms 以上; 如果 <=0,则重置为 200ms |
public synchronized void setMixStandard(boolean standard)
设置音频文件是否为混画基准流。
参数 | 描述 |
---|---|
standard | true: 基准流 false: 非基准流(默认) |
public synchronized boolean isMixStandard()
查询音频文件是否为混画基准流。