Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 来自Audiorecord.read()的值的含义大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_696_1@
我试图了解使用Audiorecord.read()获得的值实际意味着什么.

我正在尝试创建一个应用程序,它将在检测到脉冲响应时开始录制声音(因此我必须设置一个阈值,其中任何声音将被视为冲动).

问题是当我调用这个方法时,我真的不知道“data”中存储的值是什么意思:

read = recorder.read(data,bufferSizE);

这些是我获得的一些价值观:

[96,2,101,3,110,1,-41,-80,-117,119,-94,0 ………]

我们的想法是从这些值设置阈值,但首先我需要知道它们代表什么.

你能帮助我吗?

解决方法

数据取决于您发送给构造函数的参数. AudioRecord(int audiosource,int sampleRateInHz,int chAnnelConfig,int audioFormat,int bufferSizeInBytes)

sampleRateInHz是每秒的样本数. chAnnel config是MONO或STEREO,意思是1或2个通道.格式为PCM8或PCM16,表示每个样本8位或16位.

所以数据是一个样本数组.每个样本都是一个通道数组.每个通道将具有8位或16位值,具体取决于您的要求.不会跳过任何数据,它将始终是固定大小的格式.

因此,如果您选择1个通道和8个位,则每个字节都会听到一个声音,您应该会看到每秒的sampleRateInHz声音.如果选择16位,则每个声音长度为2个字节.如果您使用2个通道,它应按顺序进入通道1,然后通道2进入每个样品.

各个值是在请求的频率下采样时声音数据的幅度.有关其工作原理的更多信息,请参见http://en.wikipedia.org/wiki/Pulse-code_modulation.

大佬总结

以上是大佬教程为你收集整理的android – 来自Audiorecord.read()的值的含义全部内容,希望文章能够帮你解决android – 来自Audiorecord.read()的值的含义所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。