问题标签 [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 回答
1336 浏览

android - 如何在 /dev/snd 中添加 PCM 设备

目前在/dev/snd/下,我有以下设备

如何添加另一个设备(即 pcmC0D1p)?该系统运行 Android,目前使用微型 ALSA 进行音频。

0 投票
1 回答
1551 浏览

linux - ALSA 配置 如何在 asound.conf 中结合 MMAP 仿真和 Ladspa 插件

我使用 rpi dac 在 Raspberry Pi 计算模块 ( Linux ) 上有一个工作正常的 PCM 输出和良好的声音。'aplay -l' 命令输出显示如下:

为了让音频完全正常工作,我必须将我的 /etc/asound.conf 文件更改为如下所示:

当我播放 .wav 文件时,输出听起来很棒,但它有点安静,而且 alsamixer 不允许使用此驱动程序控制音量。

我想获得更多的音量,所以我研究了 Ladspa 项目软件放大器插件。以下示例代码提高了普通 Pi 上 3.5 毫米插孔的音量:

我一直在阅读这里的文档:http: //alsa.opensrc.org/Asoundrc,但我正在努力理解如何结合 2 - 我想要 MMAP 仿真和放大。我怎样才能做到这一点?谢谢你。

0 投票
1 回答
1630 浏览

android - 有没有办法通过 tinymix 命令捕获音频?

我正在尝试直接通过 USB 从移动设备捕获原始音频数据,那么是否有任何 tinymix 命令来捕获它?

0 投票
0 回答
280 浏览

android - tinyalsa sh: ./tinypcminfo: 没有这样的文件或目录

tinyalsa elf 无法在 android shell 上运行,有人知道它有什么问题吗?
我是安卓新手,:-)

这是我的步骤:
1. 将 tinyalsa 源代码下载到 ubuntu 10 vm,用 arm-linux-gnueabi-gcc 编译
2. adb push xx\tinypcminfo /data/local/tmp
3. adb shell -> cd /data/local/tmp ->chmod 777 tinypcminfo
4. ./tinypcminfo
5. 发生错误

0 投票
1 回答
3409 浏览

android - 如何在android中停止使用tinycap录制?

我们正在使用 tinycap 在我们的 android 手机设备中自动执行一些脚本。

但是如何给出论据来阻止它呢?

喜欢tinycap -d 5 test.wav(5s)

谢谢。

0 投票
2 回答
962 浏览

c - tinyalsa:pcm_start 产生错误的文件编号错误

我正在尝试使用 tinyalsa 的准系统程序,但pcm_start总是失败,返回-1并设置errno9( EBADF,即错误的文件号)。在此之前的调用pcm_open返回一个非空指针,但它设置errno22.

似乎没有有关 tinyalsa 的文档,所以我无法理解我应该做什么。我的程序基于来自 alsa(不是 tinyalsa)的示例,并且我已经阅读了 tinyalsa 的头文件。任何人都可以提供任何指导吗?

(完整代码可在pastebin上找到。)

pcm_open我推断from的前两个参数的值aplay --list-devices,它输出:

(我在我的工作站上编译和运行它,而不是在 Android 上。)

0 投票
0 回答
50 浏览

audio - snd_ctl_find_numid+0x38/0x6c 的内核崩溃

在访问 snd_kcontrol 时,我偶尔会在 4.4 内核中的 snd_ctl_find_numid+0x38/0x6c 处获得 NULL 指针取消引用。该问题偶尔会被复制。任何人都可以提供解决问题的任何指示。下面是堆栈跟踪:

观察到问题时没有特定的用例。有时在启动过程中会出现问题,有时在音频用例中会出现问题。

0 投票
0 回答
534 浏览

android - QAudioDeviceInfo::availableDevices() 不会返回所有可用设备,而是仅返回实际存在的三个音频输出设备中的一个。为什么?

问题:

1. QAudioDeviceInfo::availableDevices(QAudio::AudioOutput)) 从三个音频输出设备中只返回一个音频设备(默认设备)。为什么? 共有三个音频输出设备可用,在使用 ALSA 设备检查时,通过命令行使用“tinyplay”实用程序验证了输出。但是 QAudioDeviceInfo::availableDevices() 不返回这三个设备,它只返回一个设备(默认)。

注意: 使用 qt 示例中的示例代码进行音频输出。仅返回一台设备。

2. 如何将特定的 ALSA 设备(例如:card0, device 0)设置为默认音频设备? 在这种情况下,QAudioDeviceInfo::defaultOutputDevice() 设置为声卡 2 上的设备 0。

请参阅下面的详细资料........

系统设置:

目标板:iMX6Q Sabre AI

操作系统:安卓M6

Qt:QT 5.8

安卓 NDK r10

安卓 SDK:25.2.5

可用声卡:

root@sabreauto_6q:/ # cat /proc/asound/cards

0 [cs42888audio]:cs42888-audio-cs42888-audio cs42888-audio 1 [imxspdif]:imx-spdif-imx-spdif imx-spdif 2 [imxhdmisoc]:imx-hdmi-soc-imx-hdmi-soc imx-hdmi-社会

可用的声音设备:

root@sabreauto_6q:/ # cat /proc/asound/card0/ id pcm0c/ pcm0p/ pcm1c/ pcm1p/

root@sabreauto_6q:/ # cat /proc/asound/card1/ id pcm0c/

root@sabreauto_6q:/ # cat /proc/asound/card2/ id pcm0p/

注意:共有 3 个声卡和 3 个音频(ALSA)输出设备。

尝试测试音频输出设备:

使用 tinyplay 实用程序声音输出验证整个音频输出驱动程序。

tinyplay test.wav -D 0 -d 0 --> 声音验证。注意:声卡 0 上的 ALSA 设备 0 正在运行以产生声音。

tinyplay test.wav -D 0 -d 1 --> 声音已验证。

tinyplay test.wav -D 2 -d 0 --> 声音已验证。

0 投票
1 回答
657 浏览

audio - tinyalsa 时序和 PCM_MMAP 的问题

我们在使用 Qualcomm PM8916 编解码器的 ARM64 Snapdragon 上。目标是以 48000 样本/秒的速度对单个通道进行采样,并使用高分辨率时间戳。tinyalsa 文档坚持我们必须使用 PCM_MMAP。当我们这样做时,pcm_open() 不会抱怨,但 pcm_readi() 失败 errno:22 ioctl() 中的参数无效。

我认为相关的另一个症状是,当以这种形式调用 pcm_open 时(没有 PCM_MMAP):

音频非常流畅(周期=256),与文档相反,pcm_get_htimestamp() 返回值很好。不确定时间有多准确,但明天我将注入 GPS 1PPS 并进行标准测试以弄清楚这一点。但是当我按照说明使用 PCM_MMAP 时,例如:

或者

如上所述,读取失败。我还没有尝试过所有可能的组合,但这即将到来。奇怪的是,每当指定 PCM_MMAP 时,时间戳

返回变得毫无意义,并且 tv_sec 包含大约 4917 或 5013 的值,而不是合理的 time_t。我很想得出结论, tv_sec 值是自启动以来经过的时间,除了时间戳发生在启动后的几秒钟内。

哦,另一个细节。PCM_NONBLOCK 选项在我一直使用的 sdk 提供的 tinyalsa 版本中无法识别。所以我 git 克隆了 tinyalsa,构建了一个静态库,并升级到了最新最好的。我对 PCM_MMAP 的问题在两个版本中都存在。这一点,再加上寻找有同样问题的人的时间在很大程度上是失败的事实,让我相信这是关于我们的新产品而不是库的问题。

关于下一步该往哪里看有什么想法吗?

谢谢!

今天早上确认 pcm_readi() 中的 ioctl 正在接收正确的文件描述符 (4) 和周期大小 (256)。没有其他可能无效的论点

0 投票
0 回答
299 浏览

android - pcm_open 和 pcm_is_ready 调用失败,因为 pcm->fd 返回负整数

在 Android 9.0 中尝试 tinyalsa 时 pcm_is_ready 调用失败,因为 pcm->fd < 0。这是因为 pcm->fd = open(fn, O_RDWR|O_NONBLOCK); 公开通话失败。而且我已将 selinux 设置为允许的。并给/dev/snd chmod 777 -R 那么如何在android中解决这个问题???

我已将 selinux 设置为允许的。并将 chmod 777 -R 赋予 /dev/snd