美文网首页
QttAudio与WebRTC在Android音频回音消除的使用

QttAudio与WebRTC在Android音频回音消除的使用

作者: QttAudio | 来源:发表于2018-10-31 18:46 被阅读0次

    楼宇对讲设备中,绝大部分采用的是android系统来运行软件,在其上语音对讲功能的实现并不理想,android系统里的webrtc、opus、speex,能做到的音频降噪,啸叫消除的效果是十分有限的,想做到稳定优质的呼叫对讲,还需要专门的算法来实现回音消除,否则楼宇对讲里的杂音会非常影响用户体验。
    qttaudio是专业音频通信技术解决方案,通过简单易用的API,让楼宇对讲的开发者把语音通话功能迅速集成到自己的软件系统中,免除了啸叫、杂音这些麻烦事。


    smartphone-3572807_960_720.jpg

    一、QttAudio的使用用法
    1.Java(Android)

    1. C (iOS、Windows、Linux)

    二、webrtc的用法

    WebRTC共分成三个API,让web具备三个功能
    1.MediaStream (又称getUserMedia):获取音频和视频
    2.RTCPeerConnection:进行音频和视频通信
    3.RTCDataChannel:进行任意数据的通信

    1. navigator.getUserMedia方法目前主要用于,在浏览器中获取音频(通过麦克风)和视频(通过摄像头),将来可以用于获取任意数据流,比如光盘和传感器。

    (1)获取摄像头
    需要先在网页上放置一个video元素。图像就展示在这个元素中。
    <video id="webcam"></video>
    然后,用代码获取这个元素
    <function onSuccess(stream){
    var video = document.getElementById('webcam');
    }
    将这个元素的src属性绑定数据流,摄像头拍摄的图像就可以显示了。
    function onSuccess(stream){
    var video = document.getElementById('webcam');
    if (window.URL){
    video.src = window.URL.createobjectURL(stream);
    } else {
    video.src =stream;
    }

      video.autoplay =true;
    

    }

    if(navigator.getUserMedia){
    navigator.getUserMedia({video:true},onSuccess);
    } else{
    document.getElementById('webcam').src ='somevideo.mp4';
    }

    (2)获取麦克风声音
    通过浏览器捕获声音,需要借助Web Audio API。
    window.AudioContext=window.AudioContext ||
    window.webkitAudioContext;
    var context = new AudioContext()
    function onSuccess(stream){
    var audioInput = =context.createMediaStreamSource(streram);
    audioInput.connect(context.destination);
    }
    navigator.getUserMedia({audio:true},onSuccess);

    2.RTCPeerConnection
    RTCPeerConnection的作用是在浏览器之间建立数据的“点对点”(peer to peer)通信,也就是将浏览器获取的麦克风或摄像头数据,传播给另一个浏览器。这里面包含了很多复杂的工作,比如信号处理、多媒体编码/解码、点对点通信、数据安全、带宽管理等等。
    不同客户端之间的音频/视频传递,是不用通过服务器的。但是,两个客户端之间建立联系,需要通过服务器。
    WebRTC协议没有规定与服务器的通信方式,因此可以采用各种方式,比如WebSocket。通过服务器,两个客户端按照Session Description Protocol(SDP协议)交换双方的元数据。

    3.RTCDataChannel
    RTCDataChannel的作用是在点对点之间,传播任意数据。它的API与WebSockets的API相同。
    webrtc作为google开源的音视频播放框架,使用起来显得非常复杂,学习成本高,

    Qttaudio,作为android平台专业的音视频回音消除方案,无须复杂的音频开发,就几个简单清晰的API,包含opus、speex,做到自动增益、语音降噪,减少啸叫、能帮助楼宇对讲消除通话杂音,实现高清的语音音质,对于做楼宇对讲的公司来说,控制了开发成本,节省了研发时间,更有利于产品的迅速上线、获利!

    相关文章

      网友评论

          本文标题:QttAudio与WebRTC在Android音频回音消除的使用

          本文链接:https://www.haomeiwen.com/subject/eofztqtx.html