line in: 用来输入未经放大芯片放大的模拟音频信号。 mic: 用来连接麦克风。 line out:用来输出未经放大芯片放大的模拟音频信号。 speaket out(现在通常和line out合为一个插孔): 用来输出经放大芯片放大的模拟音频信号。
简单来说,line in是信号输入,就是指将别的音源信号输入到电脑,如将随身听的声音输进去;line out是连接电脑音箱的。mic就是插麦克风的接口。
line in/out传递的是只经过a/d或d/a芯片转换后的信号,还原度较高;而speaker out输出的是经放大芯片(例如tda1517p)放大过的信号,声音会产生一定失真(但很小,人耳几乎不能察觉)。 如果音箱上有放大电路,则连接到line out,如果没有放大电路则连接到speaker out。无源音箱如果连接到line out上可能出现声音很小或是声音不正常的现象。
音频线line in接口,用于接驳主板背板的声卡口的声音输出,连线后可用于显示器自带的喇叭播放。 line-in是线路输入的意思。它主要是用于通过专用的线路进行录音或转录的,一般在mp3上见的较多,如果mp3上有这个功能,说明这个mp3支持cd直录,可以直接把cd转录为mp3。 line-in是直录线,是录音用的,其功能是把该线一端插入其它器具的音频输出端(比如声卡、mp3、随身听、cd机等连接音箱、耳机的插孔),一端插入到mp3播放器的line-in孔中,然后直接把声音录入到你的mp3播放器了。
比如,你和你的朋友都有mp3播放器,而他的机子里有一首歌你非常喜欢,你想把它拷到自己的机子里,可是一时有找不到电脑可以传输,又或者你们有人忘了带数据线,不过恰好你的机子带有line-in功能(也就是直录功能),恰好你还把line-in线带在身上,于是你就可以把你喜欢的歌录到你的机子上了。
因为直录是把声音播放器播放的声音直接录入到机子里,避免了外部环境的干扰,因此效果要比外录的效果好很多。
如果你有设备有line out接口,又想在电脑上录制外部音源的声音,则可以将其连接到声卡的line in接口上(通过一根两头都是3.5mm音频插头的连接线)。
如果只用电脑输出声音的话,建议在系统音量控制中将其他不用的通道设置为静音(尤其是麦克风通道),这样可以降低系统背景噪声。
line in是音频输入口,line out是音频输出口,音箱应该接在 line out口上。
line in: 主要指声音(信号)输出. line out: 主要指声音(信号)输入. 是否可以接音像要看你的audio芯片(声卡芯片)是什么规格。 line out 可以接2.1音箱.
音频接口: 音频模拟接口包括line in、mic in、speak out和lille out。line in接口主要用于将磁带上的音频信号传输到电脑硬盘中保存成文件,它通常与另一端设备的line out接口相连。mic in接口主要用于连接麦克风,因而能实现录音、在线聊天。speak out和line out两个接口都能将声卡处理后的模拟信号输出到音箱等音频设备上,很多主板会将它们合二为一,即在机箱背面只能看到一个音频输出接口。
家好,我是mic,一个没有才华只能靠颜值混饭吃的java程序员。
今天一个工作5年的程序员,去面试的时候遇到一个非常奇怪的问题。
“hashmap中的hash方法为什么要右移16位异或”。
他听到这个问题的时候完全懵了,在他的认知里面完全就没有这方面的概念。
关于这个问题,我把高手的回答整理到了一个10w字的面试文档里面,大家可以扫描文章尾端二维码领取。
大家记得点赞、收藏加关注!!!
高手:
之所以要对hashcode无符号右移16位并且异或,核心目的是为了让hash值的散列度更高,尽可能减少hash表的hash冲突,从而提升数据查找的性能。
在hashmap的put方法里面,是通过key的hash值与数组的长度取模计算得到数组的位置。
而在绝大部分的情况下,n的值一般都会小于2^16次方,也就是65536。
所以也就意味着i的值 , 始终是使用hash值的低16位与(n-1)进行取模运算,这个是由与运算符&的特性决定的。
这样就会造成key的散列度不高,导致大量的key集中存储在固定的几个数组位置,很显然会影响到数据查找性能。
因此,为了提升key的hash值的散列度,在hash方法里面,做了位移运算。
首先使用key的hashcode无符号右移16位,意味着把hashcode的高位移动到了低位。
然后再用hashcode与右移之后的值进行异或运算,就相当于把高位和低位的特征进行和组合。
从而降低了hash冲突的概率。
总结
这个问题,确实是有点偏。
绝大部分的人都不会去关注这个点。
不过这个设计思想还是比较有意思,可以研究和学习一下。
有点时候,面试官问的问题会很偏,但是这种还是少数,我们遇到这类问题的时候不要慌。
不知道也影响不大。
?另外,我将所有java面试系列制作成了完整的面试文档。它的便捷之处在于,可以通过检索的方式,找到你想要的面试题,目前已经更新180期,总计超过15w字!
【想领取面试文档的小伙伴可以点击文章底部名片无套路免费赠送给大家!】
需要高手面试文档面试文档的小伙伴可以扫描下方二维码 ↓↓↓↓↓↓↓↓↓↓↓↓↓
我们讨论音频器件的时候,就不得不去讨论灵敏度,麦克风、喇叭、蜂鸣器这些器件都会涉及到灵敏度。灵敏度体现的是输出和输入的关系,因为和声音有关,我们必须要知道声压,理解灵敏度、测量灵敏度,并从中选择合适灵敏度的音频器件,对工程师来说至关重要。
1. ?? 什么是麦克风的灵敏度?
麦克风的灵敏度体现的是把声音模拟量转换成电信号效率的一个量化。当我们选择相同的基准电压
,输入同样的音量,灵敏度大的麦克风会输出更大的输出电压
。
下图是数字麦克风的结构图,相比模拟麦克风,数字麦克风在输出前增加了一个adc,前置的结构采集声压输出电压。
我们把麦克风的输出电压比上输入电压,再通过数学换算,得到的就是麦克风的灵敏度。
如果我们手里有一个mic风,它的灵敏度是一定的,我们输入慢慢变大的声压级,在声压级慢慢变大的时候,肯定会遇到mic风可以承受声压级的上限,这个上限就是我们要讨论的aop,如果声压级超过aop,那么mic就会失真。
aop定义:
thd失真达到10%时候的声压级定义为器件的aop,也就是麦克风可以承受的最大的声压级,如果超过这个声压级,麦克风将严重失真。
我们看看目前市场上最好的mic风,楼氏硅麦的参数
如何测量麦克风的灵敏度?
首先,我们需要一个标准的麦克风,这个麦克风可以读取输入声音的声压大小。我们还需要一个高保真音箱,我们需要保证输出的音频尽可能不失真,而且频宽比较大。我们把标准麦克风和高保真音箱放着一个水平线上,然后高保真音箱播放1k信号,标准麦克风可以检测到高保真音箱输出的声音大小,调整高保真音箱的输出,保证标准麦克风收到的声压级在94db spl。
然后,取下标准麦克风,放上我们待测麦克风,这时候高保真音箱输出刚才调整好的声音大小,这个时候待测麦克风收到的声音大小就是麦克风的灵敏度。
最后,几乎所有的麦克风灵敏度都是负数,因为参考的输出电压是1v,但是几乎所有的麦克风输出电压都是小于1v的。
测试灵敏度需要专业的软件soundcheck,实话说,我也没有用过,都是看别人用,然后不懂也就是咨询专门做音频测试的朋友。
如下图是声压级和输出声音大小的关系,其中94db对应的输出就是我们所说的灵敏度。
麦克风灵敏度测试方法总结
灵敏度越高麦克风就越好吗?
当然是不是,灵敏度越高,那么在输入很小声音时,音频也会被放大,很多对我们没有用的底噪是很小的声压,这就无形中增加了我们的底噪,没有实际的意义。
但是灵敏度过低也不好,灵敏度太低的话,输入很大,输出可能也很小,对我们实际是使用是不利的。
推荐阅读:
专辑|linux文章汇总
专辑|程序人生
专辑|c语言
我的知识小密圈
关注公众号,后台回复「1024」获取学习资料网盘链接。
欢迎点赞,关注,转发,在看,您的每一次鼓励,我都将铭记于心~
嵌入式linux
微信扫描二维码,关注我的公众号
还没有评论,来说两句吧...