问题标签 [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.
audio - 如何使用 Visual C++ 在 MFC 中播放声音?
我想使用我的麦克风输入和扬声器输出在我的 PC 上实现基带信号处理算法。在 Windows 7 64 位上使用打开/读/写音频设备需要哪个库?我可以使用 MFC,还是需要使用 DirectSound 包装类来操作音频设备?我也愿意使用 GNU/Linux 环境。
c++ - 'AL lib: pulseaudio.c:612: Context did not connect: Access denied' 是什么意思?
运行简单的 OpenAL 程序时出现以下错误:
AL lib:pulseaudio.c:612:上下文未连接:访问被拒绝
有趣的是,如果我尝试播放音频,那么它会正确播放,尽管听起来有些失真。
下面是产生错误的代码。如果我用 ALUT 初始化也会发生这种情况。
错误是什么意思?我可以修复它吗?
c - 不使用pulseaudio时gstreamer泄漏内存
我编写了一个使用 Gtk 和 Gstreamer 播放声音的应用程序。每次播放新声音时,如果没有在我的系统上安装 pulseaudio,应用程序会使用额外的 10M 虚拟内存,而这些虚拟内存永远不会被释放。如果安装并运行pulseaudio,则不会发生内存泄漏,但声音很断断续续,经常崩溃。是处理声音播放的代码段。*update_callback* 每 10 秒调用一次。
c++ - winapi 音频输出
我正在为 windows 寻找一些 pulseaudio 的替代品。在 linux 下,有一种非常简单的方法可以输出原始声音(使用 pulseaudio):
它非常适合小型缓冲区,我发送到循环中运行。
在windows下我使用这样的东西:
它正在工作,但是当我发送另一条数据时,我听到各条之间的延迟很小。将小块数据缓冲区输出到声音设备的任何其他方式?
c - 在 PulseAudio 中播放具有不同 sample_spec 的样本
我正在开发一个应用程序,它通过自定义 UDP 协议从远程服务器接收音频样本流。该流由小样本序列组成,每个序列可能具有不同数量的通道和速率。
据我了解,流的 sample_spec 只能在流的创建过程中设置(pa_simple_new
,pa_stream_new
等),之后无法切换。
我的问题是:在 PulseAudio 中播放这些样本的最有效方法是什么?我看到三个选项:
- 保留单个 PulseAudio 流,在需要时手动重新采样样本序列和混合通道(以便为 PulseAudio 提供相同 sample_spec 的样本)
- 保留单个 PulseAudio 流,在规格更改时使用新的 sample_spec 关闭并重新打开它
- 保留多个流,一个用于我必须使用的每种样本
选项 1 似乎需要大量手动工作,而且也非常耗费资源。选项 2 似乎非常低效。选项 3 看起来可能是最好的,但我担心资源消耗。有什么我可能会丢失的吗?
qemu - 通过pulseaudio将音频路由到远程机器上运行的Flash应用程序
我有多个在 qemu-kvm 上运行的虚拟机。我想将每个 VM 的音频输出发送给其各自的远程用户。为此,我想在远程机器上运行 flash。
在这方面,我遇到了脉冲音频。脉冲音频可以获取源并将其路由到接收器。我现在无法做到这一点。
我想了解我如何将我的虚拟机作为源并将该音频发送到它们各自的远程接收器。
audio-streaming - How to use files/streams as source/sink in PulseAudio
I'm a PulseAudio noob, and I'm not sure if I'm even using the correct terminology. I've seen that PulseAudio can perform echo cancellation, but it needs a source and a sink to filter from, and a new source and sink. I can provide my mic and my audio-out as the source and sink, right?
Now, here's my situation: I have two video streams, say, rtmp streams, or consider two flv files, say at any given moment, stream X is the input stream that's coming from another computer's webcam+mic and stream Y is the output stream that I'm sending, (and it's coming from my computer's webcam+mic).
Question: Back to the first paragraph - here's the thing, I don't want to use my mic and my audio-out, instead, I want to use these two "input" and "output" streams as my source and sink so to speak (of course, I'll use xuggler maybe, to extract just the audio from X and Y). It may be a strange question, and I have my reasons for doing this strange this - I need to experiment and verify the results to see.
c - 使用 pulseaudio API 播放 wav 文件?
例如,这是如何使用pulseaudio: http: //freedesktop.org/software/pulseaudio/doxygen/pacat-simple_8c-example.html
但我不清楚如何简单地播放 wav 文件或 ogg 文件。
macos - 使用 CoreServices.h 在 Mac OS X 上编译 pulseaudio
我正在尝试在 Mac OS X 上编译 pulseaudio,但是默认情况下,我会收到很多关于找不到标准文件的错误,例如inttypes.h
,errno.h
或stdio.h
. 修复这些错误-isystem/usr/include
,CPPFLAGS
但后来我得到fatal error: 'CoreServices/CoreServices.h' file not found
.
我也尝试过添加-framework CoreServices
和/或
-I/System/Library/Frameworks/CoreServices.framework/Headers
但都不起作用。
让编译器找到它的正确方法是什么?我想我正在使用 clang,gcc 会产生更多错误。
c++ - 录制音频,存储在缓冲区中,然后通过 PulseAudio 将字节写入声卡
我正在尝试使用以下代码行录制音频:
如您所见,我将读取的字节存储在一个名为 buffer 的结构中,如下所示:
另一个线程尝试读取和播放存储在缓冲区中的字节:
但是,我测试了缓冲区的实现,效果很好。尽管如此,我唯一能听到的就是噪音。所以我想知道,如果我需要转换字节才能再次播放它们,以便听起来像录音。
此外,我找不到我的声卡等的任何数据表。我必须转换字节还是可以按录制的方式播放它们?我使用的格式是否破坏了某些东西?
我真的被困在这里了。希望你们能帮助我。
编辑:还有一个问题:如果我使用 ALSA API 为了我的目的更接近硬件会更好吗?是的,我对声音编程完全陌生。