1.基于binder的软回路动态消回声方法,其特征是,应用于android操作系统的移动终端,所述方法包括:
android操作系统的多媒体服务mediaserver播放音频;扬声器对音频进行播放,麦克风接收混合音频流,所述混合音频流,包括:播放的音频和唤醒语音;
android操作系统native层的binderclient获取扬声器的音频流,并将获取的音频流送入android操作系统native层的binderserver;
android操作系统native层的binderclient获取麦克风的混合音频流,并将获取的混合音频流送入android操作系统native层的binderserver;
android操作系统native层的binderserver将接收到的扬声器的音频流和麦克风的混合音频流,基于消除回声算法进行处理,将处理后的音频送入android操作系统的java层。
2.如权利要求1所述的方法,其特征是,所述方法还包括:
android操作系统的java层获取处理后的音频,对处理后的音频进行声音识别,根据识别结果对移动终端进行唤醒。
3.如权利要求1所述的方法,其特征是,android操作系统native层的binderclient获取扬声器的音频流,并将获取的音频流送入android操作系统native层的binderserver;具体步骤包括:
android操作系统native层的binderclient获取扬声器的音频流;从扬声器截获的音频流为pcm格式,并将获取的音频流送入android操作系统native层的binderserver。
4.如权利要求1所述的方法,其特征是,android操作系统native层的binderclient获取麦克风的混合音频流,并将获取的混合音频流送入android操作系统native层的binderserver;具体步骤包括:
android操作系统native层的binderclient获取麦克风的混合音频流,并将获取的混合音频流由模拟信号转换后数字信号后,送入android操作系统native层的binderserver。
5.如权利要求1所述的方法,其特征是,android操作系统native层的binderclient获取麦克风的混合音频流,并将获取的混合音频流送入android操作系统native层的binderserver步骤之后,所述android操作系统native层的binderserver将接收到的扬声器的音频流和麦克风的混合音频流,基于消除回声算法进行处理,将处理后的音频送入android操作系统的java层之前;还包括:
判断接收到的扬声器的音频流和麦克风的音频流的通道数是否一致,如果一致,进一步判断接收到的扬声器的音频流和麦克风的音频流的采样率是否一致;如果通道数一致且采样率一致,则不进行格式转换;否则进行格式转换,将声器的音频流和麦克风的音频流的二者的通道数和采样率均转换成一样的。
6.如权利要求1所述的方法,其特征是,android操作系统native层的binderserver将接收到的扬声器的音频流和麦克风的混合音频流,基于消除回声算法进行处理,将处理后的音频送入android操作系统的java层;具体步骤包括:
将扬声器音频视为参照音频,将麦克风视为基准音频,将参照音频和基准音频作为两个参数值送入回声算法进行处理;将处理后的音频送入android操作系统的java层。
7.如权利要求6所述的方法,其特征是,将参照音频和基准音频作为两个参数值送入回声算法进行处理,包括:
将参照音频和基准音频进行时间同步,同步后再送入回声算法进行处理。
8.如权利要求7所述的方法,其特征是,所述将参照音频和基准音频进行时间同步,是通过cool-edit软件中的时间坐标,计算出两路音频的延迟值,通过消除延迟值来实现二者的时间同步。
9.如权利要求1所述的方法,其特征是,android操作系统的多媒体服务mediaserver播放音频;扬声器对音频进行播放,麦克风接收混合音频流,还包括:消噪处理。
10.一种移动终端,其特征是,其上搭载android操作系统,所述移动终端还包括扬声器和麦克风;其中,android操作系统的多媒体服务mediaserver播放音频;扬声器对音频进行播放,麦克风接收混合音频流,所述混合音频流,包括:播放的音频和唤醒语音;
android操作系统native层的binderclient获取扬声器的音频流,并将获取的音频流送入android操作系统native层的binderserver;
android操作系统native层的binderclient获取麦克风的混合音频流,并将获取的混合音频流送入android操作系统native层的binderserver;
android操作系统native层的binderserver将接收到的扬声器的音频流和麦克风的混合音频流,基于消除回声算法进行处理,将处理后的音频送入android操作系统的java层。