Skip to content

Ear_Mirror

buliaoyin edited this page Apr 21, 2017 · 24 revisions

功能说明

耳返是指:

在设备上插入耳机(普通耳机或蓝牙耳机),能从耳机测听到麦克风采集的声音。

该功能可以帮助主播在唱歌等场景下可以实时监听自己的声音。 一般该功能会跟背景音乐的混音功能一起使用。

低延迟耳返

Android系统下,耳返延迟一般都比较大,基本都在200ms以上,这么高的延迟对耳返的实用性大打折扣。

  1. 耳返的实时性比较差,不利于主播及时做出调整;
  2. 配合背景音乐混音使用时,播放端会出现人声明显落后伴奏的情况。

从4.2.0版本开始,SDK引入了低延迟音频特性,开启后在一些机型上耳返延迟会有非常明显的降低。

使用说明

  1. v4.1.4及之前的版本(对应Android融合库版本2.2.6):建议用户在插上耳机后再开启,但是并不是不插耳机耳返功能就无效,不插耳机打开耳返时听到的耳返音频会效果不佳(引起自激)
  2. v4.1.5及以上的版本(未发布):若用户未插入耳机,开启耳返失败,需要插入耳机后,重新开启耳返

1. 耳返关联接口

setEnableAudioPreview

注:
1.v4.1.4及之前的版本(对应Android融合库版本2.2.6): SDK未监控耳机插拔状态,未将耳返和耳机插拔做任何关联,用户可以根据自己的实际需求处理
2.v4.1.5及以上的版本(未发布):SDK内部监控了普通耳机和蓝牙耳机(包括蓝牙设置)的插拔状态,只有耳机插入时,该接口设置才能生效,否则接口设置无效

1.1 开启耳返

mStreamer.setEnableAudioPreview(true);

v4.1.5及以上的版本(未发布),在调用完该接口后,需要通过isAudioPreviewing 来获取当前耳返状态,同步UI状态,参考代码如下:

    private void onAudioPreviewChecked(boolean isChecked) {
        if(isChecked != mStreamer.isAudioPreviewing()) {
            // 若没有插入耳机,该接口会设置失败,因此设置完毕后需要判断一下,进行状态复归
            mStreamer.setEnableAudioPreview(isChecked);
            if (isChecked != mStreamer.isAudioPreviewing()) {
                Toast.makeText(this, "设置耳返失败,您需要插入耳机", Toast.LENGTH_SHORT).show();
                mAudioPreviewCheckBox.setChecked(mStreamer.isAudioPreviewing());
            }
        }
    }

1.2 关闭耳返

mStreamer.setEnableAudioPreview(false);

2. 耳返和背景音乐的关系

混音功能即将所有音频经过mixer以后生成一路音频
默认开启耳返后,会将背景音乐mute,若不开启背景音乐的混音,打开背景音乐,耳返时是听不到背景音乐的,用户需要手动设置
开启耳返的情况下,耳返听到的声音效果跟推流出去后播放端听到的效果完全一致, 不开启背景音乐混音,打开耳返的情况下推流端也就听不到背景音乐

setEnableAudioMix

2.1 开启背景音乐的混音

mStreamer.setEnableAudioMix(true);

2.2 关闭背景音乐的混音

mStreamer.setEnableAudioMix(false);
Clone this wiki locally