手机虎牙直播有声音没画面,时间越长声音与画面越不符。

夫妻亲热遭直播平台现场直播 声音和画面都非常清晰_新浪广东_新浪网
  5月6日午后,在闵行区景谷路一家牛奶店,吴先生夫妇亲热的画面在两人不知情的情况下被直播到了网上:“别人告诉我这事,我很愤怒。”
  近日,一个平台因在很多用户不知情的情况下对各类现实场景进行直播,因涉及隐私权保护等问题,引发网友广泛关注。
  在水滴直播平台上,这样正在直播的摄像头在上海共有452个,涉及马路、小区、楼宇、健身馆、店铺等多个生活场景。
  “谁这么无聊偷窥我们”
  吴先生夫妇在闵行区景谷路一家牛奶店打工。6日午后,吴先生来店里和爱人换班。临行前,两人在收银台后搂抱亲热了一会。然后,他爱人离开了门店,吴先生继续看店。
  “下午三点多,朋友打来电话说,我们夫妻之间的事他们都看见了,还给我发来截图。”吴先生说。
  “谁这么无聊偷窥我们呢?”在朋友的指点下,吴先生在手机里下载了一个APP,在搜索栏内输入朋友提供的“台号”,果然看见自己坐在店内。更让他愤怒的是,自己在店内说的话,手机里听得一清二楚。
  “我们在店里说什么话,不仅老板知道,其他人也都能听到,我们一点隐私都没有了。”吴先生愤怒地说。
  在这间约10平方米的店里有两个摄像头,一个装在店门门头上,朝向店内;另一个装在收银台对面货架的顶部,店里可以一览无余。
  回看上述视频时,记者注意到,当天14点25分56秒:吴先生的爱人坐在收银台后面的椅子上,拉住吴先生的右手。31分25秒:吴先生的爱人把头靠上吴先生的肩膀。33分17秒:吴先生的爱人在吴先生的右脸上亲了一口。34分07秒:吴先生把他爱人搂进怀里,摩挲着头发。34分44秒:吴先生右手撩起她爱人腰部的衣服,她爱人拉开了吴先生的手。
  面对吴先生的愤怒,摄像头的安装者——该牛奶店的老板解释说,自己是用这两个摄像头“看店”的:“以前店里收到过假币,还有人来闹事,我装摄像头是为了店里的安全。”
  “既然可以保存,为什么要直播出去呢?”记者问。
  老板回答说,他有两间门店都安装了这种小水滴摄像头。这间门店是从去年7月开始对外直播的:“我觉得就是直播店面嘛,也许还能有点广告效应,谁知他夫妻俩在店里亲热呢?”
  八千人围观过一家便利店
  像吴先生夫妇一样,在不知情的情况下被直播出去的情况并非个例,而这些不知情者也成了一些网友窥私的对象。
  5月5日晚9时许,一家便利店的监控直播吸引了不少评论。记者看到,在这家便利店里,两名顾客站在柜台外跟收银台后的老板娘聊天,声音和画面都非常清晰。
  记者看了一会,可以清晰地发现,收银台左侧有一个收款二维码,而且老板娘习惯把100元面额的钞票从收银机里抽出来,拉开柜台下面右手第一个抽屉,放在一只紫色的小布袋里。
  在直播平台上,前后有8000多个人来围观过这家小店。这些网友不时对老板娘品头论足。
  6日上午,记者来到这家便利店,看见小水滴摄像头就装在收银台后面天花板的墙角。记者打开APP,看见自己也出现在直播画面里。记者跟老板娘的对话,大约滞后一秒钟,便从手机里传了出来。
  老板娘看到记者手机里正在直播她店里的实时画面,非常惊骇,吓得连忙打电话喊来了他老公,问这究竟是怎么回事?
  他老公说,这家店盘下来才一个月。上家交接时的确曾告诉他,墙角里有两个摄像头,一个黑色的是跟公安联网的,一个白色的是供自己手机监看的:“我没想到,这东西会把我们的一举一动直播出去。”
  顾客不知情遭直播非个案
  7日下午3点05分,记者在直播平台发现,上海一共有452个镜头正在进行直播。这些直播内容大多为固定角度监控,直播的场景包括小区道路、交通路口、运动中心、饭店等。除了看一些有主播主持的节目外,也有一些监控,“可以看到别人的生活”。
  记者调查发现,在直播平台中,店家将镜头对准消费者进行直播,消费者却不知情的情况并非个案。
  面对自己可能被直播的情况,市民的看法也各不相同。
  “这当然是侵犯隐私了。”在一家千里香馄饨店门口,得知自己刚才吃饭的样子被全程直播,一名戴眼镜的男学生说。
  有消费者认为,这种直播的技术本身很好,关键要看应用在什么地方:“如果可以放在饭店的后厨,对后厨进行直播,对饭店的卫生和经营都是一种监管。”
  孩子、家长互动也被直播
  记者注意到,一些“儿童乐园”里孩子和家长互动的场景也被直播了出来。记者根据其中一个游乐园的直播镜头,找到上海古浪路一家名为“小玩子”的游乐园。“他们知道(直播)的,也同意的。”门口看店的小姑娘一说,“已经告知了家长。”
  然而,记者留意到,在这家门店贴出的“入园须知”中没有一条关于入园将被直播的告知。一些家长表示,他们从不知情。一名家长看着手机镜头中被实时直播的自己,一下愣住了。
  不过,也有一些家长表示,尽管不知道自己被直播,但也不是很在意,而且觉得这是一个不错的安防产品。
  “既然有这个(直播)能在手机里看到小孩,那还是蛮方便的,以后我就可以把孩子放在游乐园里去超市买菜了。”一个年轻爸爸说。
  有家长认为,对于这种游乐园的直播,建议可以采用加密的模式,只向家长提供密码,只允许家长观看,感觉挺好的,甚至可以拓展到幼儿园里使用,家长一定很欢迎。
  直播平台
  将强迫店家张贴提示贴纸
  针滴直播频频被曝涉嫌侵犯隐私的问题,直播产品经理日前解释说:“直播并不是一个独立的直播产品,它是安防产品智能摄像机的用户展示和分享平台。我们后来观察到很多机主希望把自己拍摄的画面分享给其他用户,于是就搭建了直播这个用户分享平台。”
  针对隐私保护问题,张西胜说:“我们呼吁智能摄像机的机主将自己拍摄到的画面分享的时候,一定要提高安全意识和隐私意识,保护好自己和他人的隐私。此外,水滴平台还将继续严格审核管控涉隐私内容。针对公民隐私的保护,水滴直播平台审核人员会根据法律法规和良俗公约,对涉公民隐私服务区域,以及其他明显涉及隐私的私密场所直播,一经发现立即采取下线关停措施。”
  张西胜还告诉记者,接下来,为了更好的保护好这些店主和顾客的隐私,他们将强迫店家张贴带有“正在直播、感谢关注”字样的贴纸:“我们将强制要求店家张贴提示贴纸,凡涉及公共场所直播开通1小时内,必须上传贴纸张贴和摄像机安装照片,进行验证,验证不合格的,我们将予以下线处理。”
  此外,直播负责人表示,水滴平台已经开通举报机制,第一时间处理市民关于隐私的举报投诉。
  律师说法
  公共场所直播也会泄露个人隐私
  上海刘春雷律师事务所叶萍律师表示,“水滴直播”的情况,问题不在于摄像头的所有者是否同意直播,而是要关注被直播对象的隐私保护。
  叶萍认为,作为直播平台,在被直播者不知情时将直播视频推向公众,放任隐私泄露的可能性本身就已经构成了对隐私权的侵犯。
  至于平台方面声称,水滴平台上所有直播画面都是由机主购买小水滴摄像头后自行安装,并由用户自主操作分享直播的,平台上未发现非用户本人不知情分享的内容,不存在盗播、误播的可能性。
  叶萍认为,水滴直播的说法是在偷换概念。摄像头是属于商户的,可隐私权是属于被拍摄的人的,不属于安装摄像头的人。用户可以分享自己个人的画面,但没有权利分享别人的画面。
  叶萍说,一般情况下,不少市民会觉得酒吧、内衣店、按摩店、宾馆特定区域,这些场所比较私密,不宜在网上直播。但实际上,在一些大众化的公共场所,直播也同样会泄露个人隐私,一个人出现在一个公共场所,孤立看并没有什么问题,可是对于特定的人、特定的事,就可能构成隐私权的伤害。
  叶萍说,也有观点认为,一个个孤立的摄像头可能构不成大范围的个人隐私泄露。但随着摄像头越来越多,如果形成规模,形成了网络,伴随着大数据、人工智能和身份识别技术的不断进步,就有可能将一个人的生活轨迹完整地在网上呈现出来的。
05-19 16:01|分享
05-19 16:00|分享
05-19 16:00|分享
05-19 16:00|分享
05-19 15:11|分享
05-19 15:06|分享
05-19 14:56|分享
05-19 14:25|分享
05-19 14:19|分享
05-19 14:19|分享
新浪地方站平板/笔记本
终端云服务专区
受不了了!手机声音越来越小了!
&渐入佳境&
来自:荣耀7i ATH-AL00
手机刚买了时候声音很大!现在越来越小了!还以为是系统更新的原因,退回发货版本还是很小,试了所有版本的系统,感觉声音不但没有开始大,反而越来越小了!受不了了!请问,这个售后可以解决吗?有没有遇到同样问题的机友?????
width:100%">
&登堂入室&
来自:华为Mate8 NXT-AL10
我就是,和楼主一模一样
width:100%">
&已臻大成&
来自:华为Mate8 NXT-AL10
是系统原因,4.1一系列的固件,最大的bug就是铃声音效差,比4.0差了不止一点。
width:100%">
&渐入佳境&
来自:荣耀7i ATH-AL00
曹_公子 发表于
是系统原因,4.1一系列的固件,最大的bug就是铃声音效差,比4.0差了不止一点。 ...
我退回了还是一样啊!
width:100%">
&自成一派&
来自:浏览器
楼主,你说的是手机外放声音小么?如果是的话,首先,你可以进入“设置”界面,点击“声音-音量”,检查是否所有模式的音量都调至较大。其次,你需要检查下扬声器是否被遮盖。另外,你也可以更换铃声确认是否音源问题,建议使用铃声中的“Huawei Tune”确认音量是否正常哦。试试吧。
width:100%">
&略有小成&
来自:浏览器
乄摇了摇头乄 发表于
楼主,你说的是手机外放声音小么?如果是的话,首先,你可以进入“设置”界面,点击“声音-音量”,检查是 ...
昨天mate8外放问题已经完美解决,去了售后,叫号,等待维修,去了售后点,有同样的机子对比以后,外放声音低问题是有的,机子售后攻城狮2分钟解决,是外放积灰,简单处理,声音马上解决,自己感觉用手机使用过程中也算干净,没用那么多灰尘的。。。也是是我使用过程中比较脏了吧,给外放声音同样的小伙伴提醒,最好去售后检测,或者清灰,自己曾经简单清灰,没有工具,没有效果,对于手机外放喇叭结构不了解,不敢使劲清理,清理不彻底,没有解决,对应了那句话,术业有专攻。。哈哈,给售后攻城狮赞一个。自己感觉论坛上外放低的挺多的,一个就是外放口灰多堵住了声音,一个就是外放喇叭的事情,这多的人使用一段时间声音低,积灰,是不是设计缺陷了。就不得而知,感谢论坛里回复的大大们,希望我的帖子对于声音低的小伙伴有帮助。谢谢,希望能看到我帖子的小伙伴,回复帖子顶下,给没有解决外放声音低小伙伴能看到,提供经验
width:100%">
&渐入佳境&
来自:荣耀7i ATH-AL00
乄摇了摇头乄 发表于
楼主,你说的是手机外放声音小么?如果是的话,首先,你可以进入“设置”界面,点击“声音-音量”,检查是 ...
手机所有音量都调到最大了!能明显感觉到比之前的小,以前手机音量比我荣耀7i大得多!现在小得多!都是放的同一首歌!
width:100%">
&渐入佳境&
来自:荣耀7i ATH-AL00
huafans 发表于
昨天mate8外放问题已经完美解决,去了售后,叫号,等待维修,去了售后点,有同样的机子对比以后,外放声 ...
需要拆机吗?
width:100%">
&略有小成&
来自:HUAWEI NXT-TL00
秋狼的故事a 发表于
需要拆机吗?
不需要,2分钟解决我的是
width:100%">
&已臻大成&
来自:华为Mate8 NXT-AL10
本帖最后由 莫忘缘份1 于
09:41 编辑
实在不行安装这个软件试http://pan.baidu.com/share/link?shareid=&uk= 我一直在用,而且声音好很多
%2Fstorage%2Femulated%2F0%2FPictures%2FScreenshots%2FScreenshot_-09-38-30.png (41.27 KB, 下载次数: 33)
09:39 上传
width:100%">
驴行观雾凇重游灵山沐浴隆冬的暖阳唯美照系列华为手机强力支持手机镜头里的微观世界清晨的阳光
花粉客户端
Make it Possible
Make your device special
华为云服务
Huawei cloud services
音乐播放器
Huawei Music
Huawei Vmall
关注花粉俱乐部
举报邮箱:
|关注花粉俱乐部:
Copyright (C)
华为软件技术有限公司 版权所有 保留一切权利Android手机直播(三)声音采集 - 简书
Android手机直播(三)声音采集
一、文章说明
开始写文章了,才知道写文章真心耗费心力,希望自己尽量做到快速更新,也希望这些文章真心能帮助到开发者们。
这篇文章主要讲述Android声音采集相关的知识,首先介绍声音的基础知识,然后介绍如何采集声音,最后再讲述Android上声音录制和回声消除的相关步骤。
整个项目已经开源,开源地址:
二、基础知识
声音的原理
声音是振动产生的声波,通过介质(空气或固体、液体)传播并能被人或动物听觉器官所感知的波动现象。声音的频率一般会以赫兹表示,记为Hz,指每秒钟周期性振动的次数。而分贝是用来表示声音强度的单位,记为dB。
声音是一种波动,当演奏乐器、拍打一扇门或者敲击桌面时,声音的振动会引起介质——空气分子有节奏的振动,使周围的空气产生疏密变化,形成疏密相间的纵波,这就产生了声波,这种现象会一直延续到振动消失为止。
任何器官所接收的声音频率都有其范围限制。人类的耳朵一般只能听到约在20Hz至20000 Hz(20kHz)范围内的声音,其上限会随年龄增加而降低。其他物种动物的听觉频率范围也有所不同,像狗可以听到超过20kHz的声音,但无法听到40Hz以下的声音。不同物种动物的听觉频率范围如下:
猫:60~65000Hz
狗:40~50000Hz
人:20~20000Hz
红:次声波、蓝:可听声波、绿:超声波
麦克风采集
麦克风(又称微音器或话筒,正式的中文名是传声器),译自英文microphone,是一种将声音转换成电子信号的换能器。根据麦克风的制作原理,分为以下几类:
动圈麦克风
动圈式麦克风基本构造包含线圈、振膜、永久磁铁三部分。当声波进入麦克风,振膜受到声波的压力而产生振动,与振膜连接在一起的线圈则开始在磁场中移动,根据法拉第定律以及楞次定律,线圈会产生感应电流。
动圈式麦克风因为含有线圈和磁铁,不像电容式麦克风轻便,灵敏度较低,高低频响应表现较差。优点是声音较为柔润,适合用来收录人声。
1、声波 2、振动膜 3、线圈 4、磁铁 5、输出信号
电容式麦克风
电容式麦克风并没有线圈及磁铁,靠着电容两片隔板间距离的改变来产生电压变化。当声波进入麦克风,振动膜产生振动,因为基板是固定的,使得振动膜和基板之间的距离会随着振动而改变,根据电容的特性,当两块隔板距离发生变化时,电容值C会产生改变,又由于Q = C * V,当C改变时就会造成电量Q的改变。因为在电容式麦克风中需要维持固定的极板电压V,所以此类麦克风需要额外的电源才能运作,一般常见的电源为电池。电容式麦克风因灵敏度较高,常用于高质量的录音。
1、声波 2、振动膜 3、基板 4、电池 5、电阻 6、输出信号
驻极体电容麦克风
电容式麦克风一般需要额外的电源才能运作,但是驻极体电容麦克风却可以不需要额外的电源。驻极体又叫“永电体”,本身会带有固定数量的电荷数,整个线路没有电量消耗(线路去除上图的电池和电阻),根据公式:Q =CU 所以当C变化时必然引起电容器两端电压U的变化,从而输出电信号,实现声—电的变换。由于实际电容器的电容量很小,输出的电信号极为微弱,输出阻抗极高,可达数百兆欧以上。因此,它不能直接与放大电路相连接,必须连接阻抗变换器。通常用一个专用的场效应管和一个二极管复合组成阻抗变换器。由于场效应管是有源器件,需要一定的偏置和电流才可以工作在放大状态,因此,驻极体话筒都要加一个直流偏置才能工作。
微机电麦克风
微机电麦克风指使用微机电技术做成的麦克风,也称麦克风芯片或硅麦克风。 微机电麦克风的压力感应膜是以微机电技术直接蚀刻在硅芯片上,此集成电路芯片通常也集成入一些相关电路,如前置放大器。 大多数微机电麦克风的设计,在基本原理上是属于电容式麦克风的一种变型。 微机电麦克风也常内置模拟数字转换器,直接输出数字信号,成为数字式麦克风,以利与现今的数字电路连接。微机电麦克风的主要应用于部分的手机、PDA等小型移动产品。
还有其他类型的麦克风在这就不多做讲述。
麦克风降噪
随着科技的发展,现在即使在非常嘈杂的环境下,接听电话的另一方也能听得清清楚楚,这主要得益于手机降噪技术的发展。在现在的手机我们常常看到不仅仅只有一个麦克风,而是有2个甚至是3个,而这多出来的几个就是手机降噪的关键。
麦克风降噪
一般来说手机都有两个麦克风,顶部和底部都各有一个。这两个麦看起来都非常小,但是两者的作用有着明显的区别,其中底部的麦是用来提供清晰通话,而顶部的麦是用来消除噪音。
由于顶部和底部在通话时距离音源的距离不同,所以两个麦拾取的音量大小也是有不同的,利用这个差别,我们就可以过滤掉噪声保留人声了。在打电话时,两个麦克风所拾取的背景噪声音量是基本相同的,而记录的人声会有6dB左右的音量差。顶端麦收集噪声后,通过解码生成补偿信号后就可以用来消除噪音了。
回声(或称回音)是指障碍物对声音的反射。声波在遇到障碍物时,一部分声波会穿过障碍物,而另一部分声波会反射回来形成回声。若障碍物具有坚硬光滑的表面易产生回声;反之,具有柔软的表面则易吸收声音;另外,粗糙的表面易散射声音。回声相比那些直接传播的声音所经过的路程更长,所以会比直接传播的声音晚被听到。如果两列声波的时间间隔小于0.1秒,人耳边无法分辨,只能听到被延长的声音。因为室温(20℃)时空气中的声速是343米每秒,所以站在声源处的人要听到回声需要障碍物到声源的距离至少17米。
很多时候直播有连麦的需求,这时候就需要对采集的声音进行回声消除。当处在连麦的情况下,手机一边播放对方的声音,一边用麦克风进行采集,然后又将采集的声音传送给对方,这样的话对方就会听到自己的回声,由于这个循环回路一直进行,从而就会使得回声越来越多,最后出现嗡鸣声。
回声消除就是在麦克风录制外音的时候去除掉手机自身播放出来的声音,这样就将对方的声音从采集的声音中过滤出去,从而就避免了回声的产生。下面一张图片很好展示了回声消除的机制。
在近端,麦克风会采集到扬声器播放出来的远端声音,假设这路声音为y(n),当然由于需要将远端传来播放出来,我们当然能得到远端传来的声音信号,假设这路声音为x(n)。不难发现x(n)经过扬声器的播放,然后经过空气的传播,最后被麦克风采集,然后变为y(n),x(n)和y(n)具有明显的相关性。假设麦克风采集到的总声音信号为z(n),这时候需要通过自适应滤波器根据x(n)找出z(n)中的y(n),然后从z(n)中过滤掉y(n)。
三、声音采集
在之前已经讲述了麦克风的工作原理,麦克风采集到声音后转化为模拟电信号,之后需要将模拟电信号数字化转化为计算机能够识别的模拟信号。
Android中利用AudioRecord可以录制声音,录制出来的声音可以设置为PCM声音。想要将声音用计算机语言表述,则必须将声音进行数字化。将声音数字化,最常见的方式是通过脉冲编码调制PCM(Pulse Code Modulation) 。声音经过麦克风,转换成一连串电压变化的信号。要将这样的电压变化的信号转化成为PCM信号则需要进行三个过程:抽样、量化、编码。要实现这三个过程,则需要使用三个参数,它们是:采样频率、采样位数和声道数。
Pulse Code Modulation
1、采样频率
采样频率即取样频率,指每秒钟取得声音样本的次数。采样频率越高,声音的质量也就越好,声音的还原也就越真实,但同时它占的资源比较多。由于人耳的分辨率很有限,太高的频率并不能分辨出来。在16位声卡中有22KHz、44KHz等几级,其中,22KHz相当于普通FM广播的音质,44KHz已相当于CD音质了,目前的常用采样频率都不超过48KHz。
2、采样位数
采样位数即采样值或取样值(就是将采样样本幅度量化)。它是用来衡量声音波动变化的一个参数,也可以说是声卡的分辨率。它的数值越大,分辨率也就越高,所发出声音的能力越强。
在计算机中采样位数一般有8位和16位之分,8位不是说把纵坐标分成8份,而是分成2的8次方即256份; 同理16位是把纵坐标分成2的16次方65536份。
采样率和采样大小的值越大,记录的波形更接近原始信号。
很好理解,有单声道和立体声之分,单声道的声音只能使用一个喇叭发声(有的也处理成两个喇叭输出同一个声道的声音),立体声的pcm可以使两个喇叭都发声(一般左右声道有分工) ,更能感受到空间效果。
那么,现在我们就可以得到pcm文件所占容量的公式:
存储量 = (采样频率 · 采样位数 · 声道 · 时间)/8 (单位:字节数)
四、Android声音录制
Android中使用AudioRecord录制声音,根据上面讲述的声音采集原理,需要传递给AudioRecord采样频率、采样位数和声道数,除此之外还需要传入两个参数,一个是声音源,一个是缓冲区大小。
在Android中录制声音需要相应的权限,注意动态申请权限的问题。
&uses-permission android:name="android.permission.RECORD_AUDIO" /&
下面是Android支持的音频源:
/** 默认声音 **/
public static final int DEFAULT = 0;
/** 麦克风声音 */
public static final int MIC = 1;
/** 通话上行声音 */
public static final int VOICE_UPLINK = 2;
/** 通话下行声音 */
public static final int VOICE_DOWNLINK = 3;
/** 通话上下行声音 */
public static final int VOICE_CALL = 4;
/** 根据摄像头转向选择麦克风*/
public static final int CAMCORDER = 5;
/** 对麦克风声音进行声音识别,然后进行录制 */
public static final int VOICE_RECOGNITION = 6;
/** 对麦克风中类似ip通话的交流声音进行识别,默认会开启回声消除和自动增益 */
public static final int VOICE_COMMUNICATION = 7;
/** 录制系统内置声音 */
public static final int REMOTE_SUBMIX = 8;
缓冲区大小
接下来便是要设置缓冲区大小。麦克风采集到的数据先放置在一个缓冲区里面,之后我们再从这个缓冲区里面读取数据,从而获取到麦克风录制的音频数据。在Android中不同的声道数、采样位数和采样频率会有不同的最小缓冲区大小,当AudioRecord传入的缓冲区大小小于最小缓冲区大小的时候则会初始化失败。大的缓冲区大小可以达到更为平滑的录制效果,相应的也会带来更大一点的延时。
声音缓冲区
通过下面的方法可以获得最小缓冲区的大小:
AudioRecord.getMinBufferSize(frequency, channelConfiguration, audioEncoding);
当获取失败后会返还负数,根据错误码可以得到相应的错误信息。
在对AudioRecord进行录音前需要对采样率进行设置,对于采样率,Android官方文档要求所有的手机需要对44100Hz的采样率进行支持,可是国内的一些极其少数的手机依然不支持44100Hz的采样率。以下是几种常见的采样率:
在设置采样率之前需要对手机对设置的采样率是否支持进行检测,下面是一段代码是获取手机支持的音频采样率:
public void getValidSampleRates() {
for (int rate : new int[] {, 1, 44100}) {
// add the rates you wish to check against
int bufferSize = AudioRecord.getMinBufferSize(rate, AudioFormat.CHANNEL_CONFIGURATION_DEFAULT, AudioFormat.ENCODING_PCM_16BIT);
if (bufferSize & 0) {
// buffer size is valid, Sample rate supported
为了达到立体声的效果,Android也是支持多个声道采集的,一些情况下为了完成在所有手机上的视频,我们需要把声道设置为AudioFormat.CHANNEL_CONFIGURATION_MONO(单声道)。
对于采样位数,选的值也是以常量的形式定义在 AudioFormat 类中,常用的是 ENCODING_PCM_16BIT(16bit),ENCODING_PCM_8BIT(8bit),ENCODING_PCM_16BIT可以保证兼容所有Android手机的。
下面便是AudioRecord的初始化方法:
public AudioRecord(int audioSource, int sampleRateInHz, int channelConfig,
int audioFormat, int bufferSizeInBytes) throws IllegalArgumentException
当传入的参数出现问题时会抛出异常。AudioRecord有一个状态量用来表示AudioRecord是否被成功初始化,通过getState()方法可以获取,当返回为STATE_UNINITIALIZED表示未成功初始化,当返回为STATE_INITIALIZED表示已经成功初始化了。
AudioRecord通过下面的方法可以读取到相应的录音数据:
public int read(@NonNull byte[] audioData, int offsetInBytes, int sizeInBytes) {
return read(audioData, offsetInBytes, sizeInBytes, READ_BLOCKING);
当读取失败的时候会返回相应的负数错误码。
Android手机有很多厂商,对于开发者来说兼容性一直以来都是一个重要的问题。在录音过程中,Android推荐的参数如下:
sampleRateInHz = 44100;
channelConfig = AudioFormat.CHANNEL_CONFIGURATION_MONO;
audioFormat = AudioFormat.ENCODING_PCM_16BIT
五、Android回声消除
在Android中回声消除可以通过三种方式进行处理:1、通过VOICE_COMMUNICATION模式进行录音,自动实现回声消除;2、利用Android自身带的AcousticEchoCanceler进行回声消除处理;3、使用第三方库(Speex、Webrtc)进行回声消除处理。
使用AudioRecord模式进行录音的时候,需要将AudioManager设置模式为MODE_IN_COMMUNICATION,还需要将麦克风打开。有一点需要特别注意,音频采样率必须设置8000或者16000,通道数必须设为1个。
AudioManager audioManager = (AudioManager)mContext.getSystemService(Context.AUDIO_SERVICE);
audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
audioManager.setSpeakerphoneOn(true);
使用AcousticEchoCanceler过程比较简单,录制声音的时候可以通过AudioRecord得到AudioSessionId,在创建AudioTrack的时候也可以传入一个AudioSessionId,这时候将这个统一的AudioSessionId传入AcousticEchoCanceler,那么AcousticEchoCanceler将根据之前讲过的回声消除的原理进行回声消除。
private void initAec(int audioSessionId) {
if(!AudioAecUtils.isAcousticEchoCancelerApproved()) {
aecSwitch.setEnabled(false);
aec = AcousticEchoCanceler.create(audioSessionId);
if (aec == null) {
Log.e(TAG, "AcousticEchoCanceler.create failed");
aecSwitch.setEnabled(false);
private boolean setEnableAec(boolean enable) {
if (aec == null) {
int ret = aec.setEnabled(enable);
if (ret != AudioEffect.SUCCESS) {
Log.e(TAG, "AcousticEchoCanceler.setEnabled failed");
if(enable) {
Log.d(TAG, "Aec On");
Log.d(TAG, "Aec Off");
当使用Speex或者Webrtc第三方库进行回声消除的时候,需要将采集到的音频数据传入作为源数据,需要将此刻播放的音频数据传入作为参考数据,然后还需要传入一个延时间隔,这样第三方库就能工作,从而得到回声消除后的声音。因为播放的声音需要传播,而且麦克风采集声音还有相应的缓冲区,因此需要传入一个延时间隔。关于Speex和Webrtc在github上能找到相应的Android ndk库。
本人三种方式都进行了尝试,发现第一种效果最好,兼容性也较好,因为手机免提通话的时候就进行了回声消除处理,所以基本上所有的手机是支持的。第二种方式支持的很少,Nexus 5支持第二种方式。理论上第三种方式兼容性最好,但是本人多次实验发现要设置合适的延时间隔很难,有些时候设置好了,但是通话一段时间效果又变差。
六、相关链接
七、结束语
终于写完了,各位看官觉得文章不错的话不妨点个喜欢~
如切如磋,如琢如磨。
Android音频收集和播放(一) 一、文章说明 这是自己第一次通过写文章的方式来记录在开发中的一些心得,在这里也希望这是一个好的开始并一直坚持下去,同时更是希望能帮助到有需要的开发者。 这篇文章主要讲述的是Android中使用AudioRecord类和AudioTrack...
一、说明 近两年来直播行业越来越火,各个直播平台加一起差不多300多家。有些直播平台做秀场、综娱类的直播(来疯直播),有的做游戏直播(熊猫直播),有的做体育赛事的直播(乐视直播),分类也各种各样。下面一张图很好地反映了国内直播平台的大致分类。 二、总体 如果让大家马上去开发...
关于直播的技术文章不少,成体系的不多。我们将用七篇文章,更系统化地介绍当下大热的视频直播各环节的关键技术,帮助视频直播创业者们更全面、深入地了解视频直播技术,更好地技术选型。 本系列文章大纲如下: (一)采集 (二)处理 (三)编码和封装 (四)推流和传输 (五)现代播放器...
原文链接:http://www.jianshu.com/p/ddb640ac4fec作者:七牛云 采集是整个视频推流过程中的第一个环节,它从系统的采集设备中获取原始视频数据,将其输出到下一个环节。视频的采集涉及两方面数据的采集:音频采集和图像采集,它们分别对应两种完全不同的...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
浓浓的雾霾包围着,蓝色就是幸福的颜色 冰冻的气温笼罩着,黄色就是幸福的颜色 灰黑的枝叶裹挟着,绿色就是幸福的颜色 约莫20年的伙计,王总,有头脑,有实力,商场上打拼,到现在有自己的实体,前年刚得一千金,小日子殷实滋腻,今年老婆又怀孕了,B超了据说是个小子,儿女双全,把王总美...
原创 梵丁生
傍晚时分,日轮西落,火球似的染红了天际的火烧云彩,艳红艳红的宛如晚秋时节,苔湖山一条狭窄延绵的百年古道两旁,高大古朴的枫树上飘落巴掌大的枫叶色泽一样彤红彤红的,多元的色感诱人十足。
随着时间无声推移,太阳...
①借钱的时候,无论你和对方的关系多么好,也一定要写好借条,等到还钱的时候,一定要支付利息。 这个利息一定不能低于银行正常储蓄利息。 这叫做“维持最基本的经济信誉”。 ②不缺钱的时候,也可以偶尔借一下钱,哪怕这个钱借回来放在抽屉里不用,然后在写好借条的基础上,再按照银行正常储...
国庆假期结束后,天气逐渐转冷,天也黑的比以往更早了。 我是喜欢运动的人,以往下班之后总会出去走走路,骑骑车,曾经也有过努力跑步减肥20多斤的经历。 今天中午,吃过午饭,我和一位同事出去散步。一是为锻炼身体,活动筋骨。二是为熟悉我工作的地方周围的环境。三也为自己写作寻找素材,...
青年时期--自我的觉醒 青少年时期(12-20岁),人体在生理上开始出现第二特征;在心理上,这是个从孩子到大人,从家庭到社会以及从依赖他人到自立的发展变化过程,孩子开始探寻自我,并确立自我统一性(identity)。 为了获得自我同一性,即使在价值观、兴趣、关注的事情等方面...}

我要回帖

更多关于 yy直播没画面只有声音 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信