当前位置: 首页 > 知识库问答 >
问题:

Android AudioRecord哪些设置可以记录通话

贲功
2023-03-14

我使用AudioRecord类来记录通话过程中的语音。

我很高兴只录下拥有电话的人的声音(从麦克风)。在录音期间,我想做一些音频处理,但这是目前的主题。

Android有以下AudioSources选项:

    null

对于音频格式,我选择了AudioFormat.encoding_pcm_16bit,但它也有:-AudioFormat.encoding_default-AudioFormat.encoding_pcm_8bit

最后是我应该使用多少个渠道,为什么?(AudioFormat.channel_in_stereo或AudioFormat.channel_in_mono)

共有1个答案

岳和泽
2023-03-14

您应该始终以44100作为采样率为目标,因为根据谷歌,这是唯一保证工作的采样率。

以赫兹表示的采样速率。44100Hz是目前唯一能保证在所有设备上工作的速率,但其他速率如22050、16000和11025可能在某些设备上工作。开发站点

至于立体声和单声道,使用单声道。

音频数据格式:PCM每样16位。保证设备支持。开发站点

只需记住使用16bit时使用短[]缓冲区而不是字节缓冲区。由于16bit是2个字节,您将不得不一次组合缓冲区中的两个条目:

byte][]{sample_1_upper,sample_1_lower,sample_2_upper,sample_2_lower,...,sample_n_lower}但是,如果使用short[]缓冲区:
short[]{sample1,sample2,...,sample3}

 类似资料:
  • 本文向大家介绍cookie有哪些字段可以设置相关面试题,主要包含被问及cookie有哪些字段可以设置时的应答技巧和注意事项,需要的朋友参考一下 参考回答: name字段为一个cookie的名称。 value字段为一个cookie的值。 domain字段为可以访问此cookie的域名。 非顶级域名,如二级域名或者三级域名,设置的cookie的domain只能为顶级域名或者二级域名或者三级域名本身,不

  • 问题内容: 如何配置JSch记录器的级别? 是否可以通过XML配置Log4J? 问题答案: JSch似乎没有使用任何已知的日志记录框架(我使用JSch v0.1.49,但最新版本是v0.1.51)或任何XML配置文件。所以这就是我所做的: 然后在使用JSch之前: 请注意,您可以使用所需的任何日志记录框架类(Log4j,Logback等)来代替and , 您可以在此处获得完整的示例:http :

  • 问题内容: 我正在使用docker-compose设置可扩展的气流集群。我基于此Dockerfile https://hub.docker.com/r/puckel/docker- airflow/ 我的问题是将日志设置为从s3写入/读取。当dag完成后,我会收到这样的错误 我像这样在文件中设置了一个新部分 然后在“远程日志”部分中指定s3路径 我是否对此进行了正确设置并且存在错误?这里缺少成功的

  • 本文向大家介绍JavaScript cookie中存在哪些记录?,包括了JavaScript cookie中存在哪些记录?的使用技巧和注意事项,需要的朋友参考一下 您的服务器以cookie的形式向访问者的浏览器发送一些数据。浏览器可以接受cookie。如果是这样,它将以纯文本记录的形式存储在访问者的硬盘上。现在,当访问者到达您网站上的另一个页面时,浏览器会将相同的cookie发送到服务器以进行检索

  • 我使用的是一个从jar实现Serializable的类,为了确保不会出现编译器相关的问题,我给了它一个serialVersionUID私有静态final long serialVersionUID=123L; 然后我重新创建了jar,但现在当我在新jar中使用类时,它给了我一个例外: invalidClassException:com.placeiq.piqhash.piqdeviceID;本地类

  • 谷歌(遗憾地)计划破坏存储权限,使应用程序无法使用标准文件API(和文件路径)访问文件系统。许多人反对它,因为它改变了应用程序访问存储的方式,在很多方面,它是一个受限的API。 因此,如果我们希望处理各种存储卷并访问其中的所有文件,我们将需要在未来的Android版本上完全使用SAF(存储访问框架)(在Android Q上,我们至少可以暂时使用一个标志来使用正常的存储权限)。 例如,假设您想创建一