|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.tencent.av.sdk.AVAudioCtrl
public class AVAudioCtrl
AVAudioCtrl表示音频控制器,主要用于简化音频设备控制。
通过AVAudioCtrl,您可以控制麦克风、扬声器,获取设备音量。
方法中涉及到的音量,全部为App内部的音量,和操作系统的音量没有联系。
在SDK正常启动之后,可以通过AVContext的GetAudioCtrl()来获取AVAudioCtrl对象。
另外需要注意的是,当App被切到后台,需要暂停SDK,否则会导致无法接触对系统资源的占用。
Nested Class Summary | |
---|---|
static class |
AVAudioCtrl.AudioDataSourceType
音频数据输入和输出类型。 |
static class |
AVAudioCtrl.AudioFrame
单帧音频数据。 |
static class |
AVAudioCtrl.AudioFrameDesc
音频数据格式。 |
static class |
AVAudioCtrl.Delegate
AVAudioCtrl的委托类,主要用于通知输出设备变化。 |
static class |
AVAudioCtrl.RegistAudioDataCompleteCallback
音频数据回调函数定义。 通过回调函数,来通知外部读取或者写入具体类型的音频数据。 对于输入音频数据,AudioFrame.data指向数据缓冲区, 用户将音频数据写入缓冲区, AudioFrame.dataLen表示数据缓冲区总大小, 用户需改写为输入音频数据实际大小。 回调处理要求是非阻塞的,SDK回调时间间隔稳定在20ms左右, 在回调中阻塞过长时间会导致声音异常等问题。 SDK通过回调返回值来判断数据处理是否成功输。处理成功请返回 AVError.AV_OK,否则返回 AVError.AV_ERR_FAILED。 |
Field Summary | |
---|---|
static int |
AUDIO_CODEC_TYPE_CELT
音频编解码器类型: celt。 |
static int |
AUDIO_CODEC_TYPE_SILK
音频编解码器类型: silk。 |
int |
nativeObj
|
static int |
OUTPUT_MODE_HEADSET
听筒模式。 |
static int |
OUTPUT_MODE_SPEAKER
扬声器模式。 |
Constructor Summary | |
---|---|
AVAudioCtrl()
构造函数。 |
Method Summary | |
---|---|
boolean |
enableMic(boolean isEnable)
开启或关闭麦克风。 同步返回结果。 |
boolean |
enableSpeaker(boolean isEnable)
开启或关闭扬声器/耳机。 同步返回结果。此方法操作的物理设备和 setAudioOutputMode(int) 有关系。输出模式为 OUTPUT_MODE_SPEAKER ,则操作的是扬声器。
输出模式为OUTPUT_MODE_HEADSET ,则操作的是耳机。
|
AVAudioCtrl.AudioFrameDesc |
getAudioDataFormat(int src_type)
获取某类型的音频格式参数。 |
float |
getAudioDataVolume(int src_type)
获取某类型的音频音量。 |
int |
getAudioOutputMode()
获取语音输出模式。 同步返回结果。主要用于App区分现在SDK是否采用外放模式播放声音。 SDK默认的语音模式是听筒模式。 |
int |
getDynamicVolume()
获取麦克风的实时音量。 同步返回结果。 |
java.lang.String |
getQualityTips()
获取通话中实时音频质量相关信息,业务侧可以不用关心,主要用来查看通话情况、排查问题等。 |
int |
getVolume()
获取麦克风的音量。 同步返回结果。 |
int |
registAudioDataCallback(int src_type,
AVAudioCtrl.RegistAudioDataCompleteCallback javacallback)
注册具体数据类型的回调函数。 |
boolean |
setAudioDataFormat(int src_type,
AVAudioCtrl.AudioFrameDesc audio_desc)
设置某类型的音频格式参数。 |
int |
setAudioDataVolume(int src_type,
float volume)
设置某类型的音频音量。 |
boolean |
setAudioOutputMode(int outputMode)
设置语音输出模式。 同步返回结果。主要用于切换扬声器/听筒,SDK把听筒、有线耳机、蓝牙耳机统一归类为听筒。 切换成扬声器模式,声音会外放,切换成耳机模式,SDK会按照有线耳机 > 蓝牙耳机 > 听筒的优先级枚举设备,播放声音。 |
void |
setDelegate(AVAudioCtrl.Delegate delegate)
注册委托。 同步返回结果。App通过注册此委托,同步更新显示当前的声音播放状态,例如是否为外放。 注意:SDK在用户插耳机的时候,会自动选择用户新插入的耳机,设备优先级:有线耳机 > 蓝牙耳机 > 听筒。 SDK自动选择的操作会导致实际的outputMode和 setAudioOutputMode(int) 不一样,App需要响应委托,及时更新状态。 |
void |
setIsSystemApp(boolean isSystemApp)
设置是否是系统APK |
void |
setVolume(int volume)
设置SDK的播放音量。 同步返回结果。 |
void |
startTRAEService()
开启音视频服务 进房间前要调用,否则会导致音频参数失效,音频设备组件切换失败 |
void |
startTRAEServiceWhenIsSystemApp()
在当前APK是系统APK的情况下开启音视频服务 |
void |
stopTRAEService()
停止音视频服务 |
void |
stopTRAEServiceWhenIsSystemApp()
在当前APK是系统APK的情况下停止音视频服务 |
void |
uninit()
退出音视频通话之后销毁音视频通话资源 |
int |
unregistAudioDataCallback(int src_type)
反注册具体数据类型的回调函数。 |
int |
unregistAudioDataCallbackAll()
反注册所有回调函数。 |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int OUTPUT_MODE_HEADSET
public static final int OUTPUT_MODE_SPEAKER
public static final int AUDIO_CODEC_TYPE_SILK
public static final int AUDIO_CODEC_TYPE_CELT
public int nativeObj
Constructor Detail |
---|
public AVAudioCtrl()
Method Detail |
---|
public int registAudioDataCallback(int src_type, AVAudioCtrl.RegistAudioDataCompleteCallback javacallback)
[in]
- src_type 音频数据类型。[in]
- callback 用户自定义的回调函数地址。[in]
- custom_data 用户自定义回调数据。
public int unregistAudioDataCallback(int src_type)
[in]
- src_type 音频数据类型。
public int unregistAudioDataCallbackAll()
public boolean setAudioDataFormat(int src_type, AVAudioCtrl.AudioFrameDesc audio_desc)
[in]
- src_type 音频数据类型。[in]
- audio_desc 音频数据的格式。
public AVAudioCtrl.AudioFrameDesc getAudioDataFormat(int src_type)
[in]
- src_type 音频数据类型。[out]
- audio_desc 音频数据的格式。
public int setAudioDataVolume(int src_type, float volume)
[in]
- src_type 音频数据类型。[in]
- volume 音量 (范围 0-1)。
public float getAudioDataVolume(int src_type)
[in]
- src_type 音频数据类型。
public int getVolume()
public int getDynamicVolume()
public void setVolume(int volume)
volume
- 音量,取值范围为0-100。public boolean enableMic(boolean isEnable)
isEnable
- true表示开启,false表示关闭。
public boolean enableSpeaker(boolean isEnable)
setAudioOutputMode(int)
有关系。OUTPUT_MODE_SPEAKER
,则操作的是扬声器。OUTPUT_MODE_HEADSET
,则操作的是耳机。
isEnable
- true表示开启,false表示关闭。
setAudioOutputMode(int)
public boolean setAudioOutputMode(int outputMode)
outputMode
- 输出模式,取值如下:
getAudioOutputMode()
public int getAudioOutputMode()
setAudioOutputMode(int)
public void setDelegate(AVAudioCtrl.Delegate delegate)
setAudioOutputMode(int)
不一样,App需要响应委托,及时更新状态。
TODO robotding 说明setAudioOutputMode和Delegate是否会互相影响。
public java.lang.String getQualityTips()
public void uninit()
public void stopTRAEService()
public void startTRAEService()
public void setIsSystemApp(boolean isSystemApp)
[in]
- isSystemApp 是否为系统APK。public void startTRAEServiceWhenIsSystemApp()
public void stopTRAEServiceWhenIsSystemApp()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |