问题标签 [pulseaudio]

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 回答
336 浏览

gstreamer - 如何在pulseaudio中的RTP流式传输期间将频率更改为48kHz

在流式传输 rtp 数据包时,我想默认将频率更改为 48kHz,最大频率为 44.1kHz 是否有任何 api 可以直接在 pulseaudio 中执行?

0 投票
0 回答
138 浏览

c - pulseaudio 模块在 32 位机器上导致断言 (max_latency <= (10*((pa_usec_t))

我正在运行pulseaudio-1.1 的Ubuntu 32 和64 位平台上编译pulseaudio 1.1 附带的module-virtual-sink.c。当我在 32 位机器上加载模块时,我得到以下断言:

在模块-virtual-sink.c 中:

传递错误的值。i->sink->thread_info.min_latency, i->sink->thread_info.max_latency 正在传递 0 和 500 而不是 500 和 100000。

与在 soft_volume 之前的 pa_sink_new 中的 pulseaudio 创建的结构相比,我的 gcc 生成的 thread_info 结构中缺少 32 位

导致读取错误值并将其传递给 pa_sink_set_latency_range_within_thread。

thread_info.soft_volume.channels 是 0 而不是 2。编译后的代码看错了位置 - 地址 0x8b6c640 而不是 0x8b6c644

我怀疑编译器配置问题或源不匹配。不用说,这是在使用 ../configure 创建 config.h 文件后使用 GCC 测试的

任何想法可能导致这种行为?

0 投票
1 回答
2828 浏览

c - pa_simple_new() 失败:连接被拒绝

我收到错误

在尝试调用pa_simple_new函数时。这是代码。

0 投票
1 回答
794 浏览

c - 未定义的引用——局部符号

我正在尝试向 ac 文件添加一个新函数“pa_context_set_sink_input_paused”。这个 c 文件是 pulseaudio 的一部分。我也能够成功地编译pulseaudio。

我添加到 c 文件中的代码(其中定义了许多其他函数,并且这些函数被声明为全局函数)。

在头文件中,函数声明如下

像这样编译:

但是当我尝试使用这个新函数运行一个程序时,它会返回“未定义的引用”。

我尝试运行 nm 命令并检查 libpulse.so 中是否存在新函数

该函数返回给我它找到了它..

它被标识为带有字母“t”的本地符号。

我无法理解正在发生的事情。你能帮我解决这个问题吗??

谢谢, 萨西什

更新:-

多谢你们,

谢谢, 萨西什

0 投票
0 回答
291 浏览

java - Java Sound API:从声音端口读取和写入

我有一个返回端口而不是 SourceDataLine 的混音器。如何从该端口读取数据?我找不到 Port 的任何子类。我可能遗漏了一些非常明显的东西,但我找不到任何可以访问端口的读写类。

编辑:我正在尝试使用来自 icedtea 的 java pulseaudio 扩展来向混音器播放声音,而不是默认的混音器。

编辑#2:在 java sound api 的其他地方,我似乎认为如果您请求 Port.Info,它实际上会返回一个目标/源数据线。我还没有测试过这个理论,但是我查看了其他人的源代码。问题是,我使用的混音器返回的是端口的子类,而不是目标/源数据线。

0 投票
1 回答
8683 浏览

pulseaudio - 从 systemd 服务调用的 pactl 总是报告“pa_context_connect() 失败连接被拒绝”

我已经设置了一个 systemd 服务文件以在系统启动时执行一些 pactl 操作以进行测试过程。虽然从终端执行命令时可以正常工作,但通过启动服务从 systemd 服务运行相同的脚本时,我总是得到“pa_context_connect()失败连接被拒绝”。我还在服务文件中使用了“User=”指令,以确保自动登录用户与用于运行服务命令的用户匹配。

我已经读到这在某种程度上与 pulseaudio 会话在 systemd 服务的无环境上下文中无效有关,但我无法进一步弄清楚。

0 投票
1 回答
499 浏览

c - 使用 libpulse 播放多个流

如何audio使用libpulse. 我知道可以通过对多个流求和并使用播放,libaudio但是否可以在lib pulseapi 上编写多个流并让 PulseAudio 进行求和?

0 投票
2 回答
1459 浏览

audio - 使用 ALSA API 记录每个通道

我正在使用游戏机的眼睛,插入树莓派。我有树莓派识别 PSEye 的内置麦克风阵列,我可以使用采样输入电平

现在很明显,这显示了所有 4 个通道的电平相加在一起。我想做的是分别记录每个频道。这可以使用 ALSA API 吗?

我浏览了这个http://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html

并查看了这个http://www.linuxjournal.com/article/6735?page=0,2

但两者似乎都不是我需要的。我想这也类似于通过 ALSA 对立体声麦克风的两个通道进行采样。最终,我希望能够在特定时间点对每个麦克风的 dB 进行采样。

0 投票
2 回答
3288 浏览

bash - 如何允许脉冲音频脚本通过 bash 将音量提高到 100% 以上

我正在使用此脚本通过 keybindigs 更改 pulseaudio 的音量,但它有一个0%限制100%

由于pulseaudio允许音量增加100%(我的笔记本电脑上的音量仍然很低),我想调整它以允许140%150%最大音量。

请注意,仅通过注释行105 ~ 111脚本就可以工作,但没有限制值(什么会破坏我的扬声器)。我真正想要的是设置一个可配置的限制100%

实际上,这更像是一个bash问题而不是一个问题pulseaudio

完整脚本的要点

0 投票
1 回答
784 浏览

linux - (如何)我可以从我的计算机没有产生的麦克风中获取所有声音的流吗?(使用 PulseAudio 或其他东西)

我一直在玩一些语音到文本和文本到语音的系统,并且遇到了一个问题,即当计算机发出它可以识别的声音时,它开始从自身接收命令。为避免这种情况,我想要麦克风拾取的所有声音流,这些声音不是由计算机本身产生的。

我看到 PulseAudio 有一个回声消除模块,但到目前为止,我无法区分它的输出和原始麦克风输出:它仍然包含麦克风拾取的来自计算机扬声器的所有声音。我想知道默认的回声消除器是否与我想要的相反(即,它消除了麦克风听到的声音被发送到扬声器)。

知道我该怎么做(最好用pacmd)?我已经彻底混淆了自己试图为回声消除器指定非默认源,并徘徊在环回模块和其他可能不相关的东西中。我对 PulseAudio 知之甚少,还没有找到很好的介绍(我查看了很多PulseAudio 文档,但没有看到任何相关内容),并且可能只是遗漏了一些简单的东西。我对回声消除显然不起作用感到沮丧,我找不到有关它的文档,也找不到其他人的工作示例。

在此先感谢您的帮助!

其他可能相关的细节:我在联想 Thinkpad T410 上运行 Ubuntu Saucy。我使用的是内置麦克风和扬声器(所以,我很确定他们使用的是同一张声卡,我不会遇到时钟漂移问题)。我的实际应用程序通过 GStreamer 获得声音,但 GStreamer 从 PulseAudio 获得声音,而且我认为 GStreamer 本身没有 AEC 功能。如果有不同的方法可以做到这一点,我很乐意切换到那个。