# 音频管理

JCMediaDevice (opens new window) 是设备模块,其中包含音频相关的操作,其中包含音频相关的接口如下所示。

# 获取音频输入设备状态

/**
 *  @brief 音频输入设备是否打开
 */
@property (nonatomic, readonly) bool isAudioInputStart;

示例代码:

[mediaDevice isAudioInputStart];

# 获取音频输出设备状态

/**
 *  @brief 音频输出设备是否打开
 */
@property (nonatomic, readonly) bool isAudioOutputStart;

示例代码:

[mediaDevice isAudioOutputStart];

# 获取扬声器状态

/**
 *  @brief 获取扬声器状态
 */
- (bool)isSpeakerOn;

示例代码:

[mediaDevice isSpeakerOn];

# 启动音频

/**
 *  @brief 启动音频,一般正式开启通话前需要调用此接口
 *  @return 成功返回 true,失败返回 false
 */
- (bool)startAudio;

示例代码:

[mediaDevice startAudio];

# 停止音频

/**
 *  @brief 停止音频,一般在通话结束时调用
 *  @return 成功返回 true,失败返回 false
 */
- (bool)stopAudio;

示例代码:

[mediaDevice stopAudio];

# 打开音频输入设备

/**
 *  @brief 打开音频输入设备
 *  @return 成功返回 true,失败返回 false
 */
- (bool)startAudioInput;

示例代码:

[mediaDevice startAudioInput];

# 关闭音频输入设备

/**
 *  @brief 关闭音频输入设备
 *  @return 成功返回 true,失败返回 false
 */
- (bool)stopAudioInput;

示例代码:

[mediaDevice stopAudioInput];

# 打开音频输出设备

/**
 *  @brief 打开音频输出设备
 *  @return 成功返回 true,失败返回 false
 */
- (bool)startAudioOutput;

打开音频输出成功后会收到 onAudioOutputTypeChange (opens new window) 回调。

/**
 *  @brief 音频输出变化
 *  @param audioOutputType 音频输出类型
 */
-(void)onAudioOutputTypeChange:(NSString*)audioOutputType;

示例代码:

[mediaDevice startAudioOutput];

-(void)onAudioOutputTypeChange:(NSString*)audioOutputType {
    //执行打开音频输出后的事件
    ...
}

# 关闭音频输出设备

/**
 *  @brief 关闭音频输出设备
 *  @return 成功返回 true,失败返回 false
 */
- (bool)stopAudioOutput;

关闭音频输出成功后会收到 onAudioOutputTypeChange (opens new window) 回调。

/**
 *  @brief 音频输出变化
 *  @param audioOutputType 音频输出类型
 */
-(void)onAudioOutputTypeChange:(NSString*)audioOutputType;

示例代码:

[mediaDevice stopAudioOutput];

-(void)onAudioOutputTypeChange:(NSString*)audioOutputType {
    //关闭音频输出后的事件
    ...
}

# 开启关闭扬声器

/**
 *  @brief 开启关闭扬声器
 *  @param enable 是否开启
 */
- (void)enableSpeaker:(bool)enable;

示例代码:

//开启扬声器
[mediaDevice enableSpeaker:true];
//关闭扬声器
[mediaDevice enableSpeaker:false];

# 获取音频路由类型

/**
 *  @brief 获得当前音频模式,目前只支持听筒和扬声器
 *  @return 音频模式
 */
- (NSString* __nullable)getAudioOutputType;

示例代码:

[mediaDevice getAudioOutputType];