问题标签 [tinyalsa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2421 浏览

android - 我怎样才能改变android中mic和pcm的增益

我成功完成了我自己的aec到android的集成。

但我需要的是我必须设置 android 的 mic 和 pcm 的增益,因为在我的 aec 中,我将 agc 应用于远端和近端信号,然后我处理该 agc 的输出以消除回声。

之后,我将对 aec 的输出应用降噪。

当我将我的 aec 集成到 gstreamer 中时,有一个类似的命令

混音器

用于设置增益水平。

当我设置一些增益水平时,我的 aec 工作正常。

但是在 android 中,我如何设置它以使我的 aec 正常工作。

0 投票
1 回答
5559 浏览

android - 在 android 中使用 AudioRecord 录制立体声

我正在寻找关于让 audioRecord 同时使用顶部安装和底部安装的麦克风的明确答案,因此我没有 2 个相同的(单声道)通道。我想知道我可以事先进行哪些轮询以确保小工具能够提供良好的流。

我正在开发 Galaxy nexus 5,但无法让它工作,所以我无法让它在所有设备上保持稳定。

我已经尝试了所有MediaRecorder.AudioSource.

并实例化两条记录:

如果有人确实在 nexus 5 上进行了立体声录音,我将非常感谢您的帮助。我应该搬到 alsa 还是 tinyAlsa?

谢谢, j

0 投票
1 回答
98 浏览

linux-kernel - 为什么有必要将 pcm 样本发送到 ALSA?

我知道如果硬件解码器不存在,那么我们需要将 pcm 样本发送到 alsa,但这仅仅是因为硬件限制,还是 ALSA 也有任何要求?

0 投票
0 回答
965 浏览

android - Android 在 Java 代码中使用 tinyalsa

我使用来自tinyalsa-ndk的源代码构建了 tinyalsa lib ,并使用 JNI 调用将其包装起来,我正尝试在我的代码中使用它。

我使用Swig生成 Java 包装器(并修改了输出以符合我的包)我的本机方法声明是:

我的 JNI 包装器调用位于根 pacakge 下的包装器类 TinyAlsa.java 中(例如,我将使用 com.Example.App):

我的包装器 c 方法是:

tinalsa 库加载正常,没有异常,但调用如mixer_open(0)返回空指针。
但是,如果我执行编译后的 tinymix 混合器是打开的,并且混合器控件应该被列出。
我错过了什么吗?我怎样才能让它从我的代码中工作?

0 投票
0 回答
475 浏览

android - APQ8064 alsa录音

我有一个 Nexus 4 设备(带有 APQ8064 声卡的 msm8960)。
我正在尝试使用 tinyalsa tinycap 实用程序从主设备 (pcmC0P0c) 录制音频,但遇到以下问题:

  • 如果我不修改任何混音器控件,我会收到“无法打开 PCM 设备 - 找不到设备错误”
  • 当我将其中一个 Multimedia1 开关设置为打开时(例如 MultiMedia1 Mixer SLIM_4_TX),我收到一条错误消息,提示设置硬件参数失败。

所以,我的问题是:我怎么知道哪些控件设置为 On(和/或设置其他控件)以便成功捕获音频?

编辑:
经过一番挖掘,我发现 in pcm_opensetting pcm params 在以下调用中失败:

如何正确设置参数以便pcm_open成功?我看不出参数有任何问题(顺便说一句,在其他设备上工作)

编辑 2:
我看到问题在于周期大小和周期计数 - 我不能分别设置为 150 和 2 以上。当我更改它们pcm_open成功但pcm_read失败并显示“启动错误”消息

感谢帮助者

0 投票
1 回答
814 浏览

audio - 如何使用 tinymix 将 40 字节的数据设置为混音器控制?

我有一个控件叫做EQ2 Coefficients

tinymix 命令的输出给出

如何将该混音器控件设置为其他值,例如要写入控件的值是00000fb3040001341E4FF1A5040B06831B64F448040A10F413DDFA1D040A280D02A104A840000000使用 tinymix 命令?

0 投票
0 回答
732 浏览

c - tinyalsa pcm 使用 mmap 捕获,在 pcm_wait() 中出现溢出错误

我正在使用 tinyalsa 库来使用 mmap 实现音频捕获。但在程序本身开始时,我收到 Xrun 错误,即 pcm_wait() 中的溢出。我尝试改变缓冲区大小和周期,但我认为它无法从声卡缓冲区中读取。

有没有关于如何正确使用 tinyalsa 的 mmap 功能的教程。甚至是 Alsa pcm mmap 教程?

0 投票
0 回答
405 浏览

android - Android 5.1 三星 S4 Mini 上的 USB 音频

我想在运行 Android 5.1(Bliss Pop,部分基于 Cyanogenmod)的三星 S4 Mini GT-I9195 上测试 USB 音频。我在这里找到了另一个线程,我也可以成功地将 wav 播放到 hw:1,0,但我无法从任何应用程序播放声音。对我来说,似乎流没有正确路由到 hw:1,0。有什么想法吗?

0 投票
2 回答
7077 浏览

android - Android:pcm_open 失败无法打开设备“/dev/snd/pcmC0D1p”

一个定制的硬件正在运行安装了音频驱动程序的 Android。

创建了一个简单的 Android 应用程序以使用媒体播放器播放一些音频,该应用程序在模拟器上进行了测试,因此可以肯定地工作。

在硬件上运行设备时,来自 logcat 的错误消息多次显示如下:

在 /dev/snd/ 下有

我可以毫无问题地播放系统通知。我也可以通过创建一个指向 pcmC0D0p 的符号链接 pcmC0D1p 来解决这个问题,并且它可以工作。为什么android试图在pcmC0D1p上播放非系统音轨?谁在控制它的输出?

0 投票
1 回答
338 浏览

android - Android AudioRecord 配置与录制的音频不匹配

我打算在 Android 4.4.2 设备上录制立体声音频。但是,通过简单的录音应用程序(使用 AudioRecord)录制的音频与提供的配置不匹配。如果设备使用默认配置值,我希望在 logcat 中看到错误消息,但我可以看到提供的值似乎被 AudioHardware 和 AudioPolicyManagerBase 接受。

当前配置为:

更改 Media.Recorder.AudioSource 已成为尝试解决此问题的选项;但这并没有改变 Android 堆栈的行为方式——除了(可以理解的)配置无效时无法加载记录器。

更改 SampleRate 也表明输出没有明显变化 - 44.1kHz 和 16kHz 都是有效选项,但是在检查时都产生 16kHz 音频。输出音频也似乎是一个上混成立体声的音频通道。

TinyALSA/Tinycap 可用于捕获音频,这似乎符合预期。

这可能是 Android 堆栈中的问题吗?或者这更有可能是 OEM 提供的代码的问题?