alsa相关内容

在 Android 中重定向音频/创建备用声音路径

有没有人有在 Android 中重定向音频或创建新声音路径的经验(使用 OpenSL ES、ALSA 等)?最终目标是创建一个虚拟麦克风来取代外部麦克风,在那里人们可以播放音频文件,就像他们对着麦克风说话一样.使用 AudioSource.MIC 访问麦克风的应用程序应使用此备用流.它没有必要与语音通话一起工作,我相信实现这种功能更难,因为这一切都在无线电中完成. 关于从哪里开始的任何想法? ..
发布时间:2021-11-27 08:28:35 移动开发

PyAudio 工作正常,但每次都会吐出错误消息

我正在使用 PyAudio 来记录来自麦克风的输入. 既然音频对我来说录制得很好,我应该尝试简单地抑制它的错误消息吗?或者有什么办法可以解决它们? ALSA lib pcm.c:2212:(snd_pcm_open_noupdate) 未知 PCM 卡.pcm.rearALSA lib pcm.c:2212:(snd_pcm_open_noupdate) 未知 PCM 卡.pcm.cent ..
发布时间:2021-11-27 08:28:27 Python

在 c/c++ 中使用 sox 进行录制

我正在尝试使用 C/C++ 中的麦克风和 sox 库录制声音. sox_open_read("default", &_input->signal, NULL, NULL) 我正在尝试使用默认输入设备.我收到错误 formats: can't open input file `default': No such file or directory 我猜这是因为我没有传递最后一个参数:file ..
发布时间:2021-10-26 18:54:57 C/C++开发

如何在 Mac OS Yosemite 上的 Docker 容器中播放声音

我正在尝试将文本转语音应用程序 dockerize 以与其他开发人员共享代码,但是我现在遇到的问题是 docker 容器在我的主机上找不到声卡. 当我尝试在我的 docker 容器中播放 wav 文件时 root@3e9ef1e869ea:/# aplay Alesis-Fusion-Acoustic-Bass-C2.wavALSA lib confmisc.c:768:(parse_ca ..
发布时间:2021-10-26 18:54:48 其他开发

ALSA音序器:避免高速MIDI导致输入缓冲区溢出

我想通过ALSA定序器发送大型SysEx消息(可能是几兆字节):目前,我将它们分为几个ALSA事件,并按如下所示循环发送它们: 而(1){结果= snd_seq_event_output_direct(seq,const_cast(& ev));if(结果!= -EAGAIN&&结果!= -EWOULDBLOCK)休息;snd_seq_sync_outpu ..
发布时间:2021-04-03 18:36:41 其他开发

如何在ALSA中设置周期和缓冲区大小?

我正在尝试为类似Sip的应用程序捕获音频. 我想以8khz单声道获得20毫秒的音频. 我需要应用程序每20毫秒准确获取一次音频,以避免抖动. 我已经设置了以下参数 访问权限:SND_PCM_ACCESS_RW_INTERLEAVED 格式:SND_PCM_FORMAT_S16_LE 费率:8000 渠道:1 期间大小:160 我希望周期为2,缓冲区为320(p ..
发布时间:2021-04-03 18:36:38 其他开发

Alsa全双工通信

我想使用alsa实现全双工通信.我首先编写了捕获和回放程序,然后使用UDP通信将数据从捕获过程传输到回放过程.当我运行两个正在捕获一个而另一个正在播放的进程时,它工作正常(将此视为从A到B的半双工),当我尝试实现另一个半双工(从B到A的半双工)时,问题就来了那么我会收到管道破损错误同时从麦克风读取数据.该如何解决?任何帮助,谢谢. 注意:我正在不同的系统上运行两个进程 解决方案 当应 ..
发布时间:2021-04-03 18:36:34 其他开发

在自定义层中升级(覆盖)整个配方

我在项目中有一个自定义层.与同事共享. 我的发行版(戳)它使用的是较旧版本的alsa.这将在构建区域的初始设置中下载.我想用较新的版本“替换"该版本的alsa,并在我的自定义层中执行此操作,这样他们就不必编辑/替换poky中的配方. 执行此操作的最佳方法是什么?如果我只是下载较新的配方并将其包括在我的图层中(与文件系统名称匹配),它将自动使用更高版本,还是我需要做其他事情? 解决 ..
发布时间:2021-04-03 18:36:31 其他开发

ALSA-管理异步IO

我有一个不断输出PCM数据的设备.在某些情况下,我想记录此输出.为此,我有一个等待信号记录的过程,当它得到信号时,它会启动一个线程(通过 pthread_create ).该线程打开PCM设备并使用 snd_async_add_pcm_handler 开始记录.该处理程序fn使用 pcm_readi 来获取PCM流中的所有可用信息并将其写入磁盘. 一切都很好-除了 一旦开始运行,我的调 ..
发布时间:2021-04-03 18:36:28 其他开发

使用PCM格式的ALSA进行音频录制

我正在Linux平台上使用ALSA进行音频捕获. 我可以使用下面的代码捕获音频,在该代码中,我将“默认"设备传递给参数,它将音频数据转储到 in.pcm 文件中. 但是,当我尝试播放 in.pcm 文件时,我只听到杂音.我正在尝试使用以下命令播放音频: ffplay -autoexit -f f32le -ac 1 -ar 44100 in.pcm 代码: #include ..
发布时间:2021-04-03 18:36:25 服务器开发

ALSA:不支持非交错访问吗?

ALSA的 那为什么为什么不支持不交错的访问呢? 以下是适用于交错播放的代码,但对于非交错播放会产生此问题: int err;如果((err = snd_pcm_hw_params_malloc(& hw_params)) ..
发布时间:2021-04-03 18:36:22 其他开发

我正在尝试将char *转换为float *

我正在尝试使用ALSA录制音频并将其传递以进行处理.音频样本从其中返回,即char *到float * 我已经尝试了很多解决方案,我想我知道它实际上不是char缓冲区,而是字节缓冲区,而是如何使它成为浮点数. 这将返回缓冲区: const unsigned char* arBuffer(void) { return buffer; } 我需要将麦克风的输出作为浮点值使 ..
发布时间:2020-11-08 22:34:54 C/C++开发

Qt-无音频输出设备-Yocto/poky

我正在尝试在基于ARM的Atmel主板(sama5d31ek)上使用Qt(QSound,QSoundeffect)播放WAV音频文件. 我已经使用Yocto/poky构建了rootfs(以及用于交叉编译的Qt SDK). 使用QSound播放时,出现以下日志消息:使用空输出设备,无可用. 运行时我什么也没得到: foreach (const QAudioDeviceInfo &devi ..
发布时间:2020-08-22 21:39:42 其他开发

通过SSH的ALSA(snd_pcm_open)吗?

我已经使用ALSA(snd_pcm_open,snd_pcm_readi等)编写了一个应用程序.该应用程序在我的机器上本地完美运行.但是,当我SSH到另一台计算机并通过SSH连接运行它时,所有对snd_pcm_open的调用均失败,并显示消息“设备不存在"或类似信息.远程计算机与本地计算机一样具有声卡. 这里可能是什么问题? 谢谢! 编辑:如果我使用远程计算机上的控制台运行该应用 ..
发布时间:2020-08-22 21:39:38 其他开发

使用ALSA [或V4L2]通过轮询读取麦克风数据

我正在尝试从Linux(ubuntu 14.04)中的多个麦克风读取数据。我有一个特定的约束,那就是应该通过轮询来读取麦克风(因此,尽管数据是高频的,所以不要等到有数据时才等待)。我想知道在Linux中是否可行?不幸的是,音频捕获不是我的专长,我想知道使用Alsa的选择是否合适。为了更好地理解问题,这里有一个我想到的伪代码: open_the_audio_device(); set_t ..
发布时间:2020-06-03 22:46:35 服务器开发

Alsa:snd_pci_readi()和实时线程

我有一个专用线程,可以通过snd_pcm_readi()捕获来自Alsa的音频。我会定期进行简短的阅读,这意味着snd_pcm_readi()返回的正整数小于我的缓冲区大小,而且音频流中显然有“流行”声音。然后我将线程优先级设置为实时,这将带来明显的好处,即短读操作要少得多,但这并不能解决。 现在的问题是:在开始之前在实时修补的Linux内核的坎bump道路上,我还能做些其他事情来提高性能吗 ..
发布时间:2020-06-03 22:46:32 其他开发

奇怪的PulseAudio监视设备行为

异常的PulseAudio监视设备(即播放输入到扬声器的声音的音频输入设备)行为。我已将我的真实项目中的代码简化为基于PulseAudio docs https://freedesktop.org/software/pulseaudio/doxygen/parec-simple_8c-example.html ,我只添加了时间限制并读取了字节计数。例如,它可以工作30秒,并打印读取的字节数。问题是 ..
发布时间:2020-06-03 22:46:27 服务器开发

Alsa异步播放

我想使用异步播放方法播放文件。我写了下面的代码,但它不起作用。,它什么也没显示。 #include。 #include #include #include #include snd_pcm_t * playback_handle; 个短buf ..
发布时间:2020-06-03 22:46:24 其他开发

我可以在ALSA中设置时间戳吗?

我正在开发一个应用程序,其中我需要按照时间戳播放音频数据包。为此,我需要告诉alsa驱动程序我的音频数据包应在什么时间戳播放。为此,我需要设置ALSA的时间戳。 我可以找到alsa api来获取播放音频数据包的时间戳(snd_pcm_status_get_tstamp())。 void gettimestamp(snd_pcm_t * handle,snd_timestamp_t * ..
发布时间:2020-06-03 22:46:22 其他开发