标签: pulseaudio

PyAudio无法工作并在ubuntu上破坏声音

好的,所以我pyaudio从包中python-pyaudio使用安装apt-get,现在当我导入和调用时如下:

Python 2.7.3 (default, Sep 26 2012, 21:53:58) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyaudio
>>> p= pyaudio.PyAudio()
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_params.c:2162:(snd1_pcm_hw_refine_slave) Slave PCM not usable
ALSA lib pcm_params.c:2162:(snd1_pcm_hw_refine_slave) Slave PCM not usable
ALSA lib pcm_params.c:2162:(snd1_pcm_hw_refine_slave) Slave PCM not usable
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only …
Run Code Online (Sandbox Code Playgroud)

python ubuntu pulseaudio pyaudio

7
推荐指数
1
解决办法
4097
查看次数

Pulseaudio 接收器在启动时不存在,但稍后可访问

我有一台运行 Ubuntu 18.04 和 i3wm 的笔记本电脑,通过 Thunderbolt 连接到扩展坞和网络摄像头。我希望将默认脉冲音频接收器设置为笔记本电脑内部声卡。因此我有

set-default-sink alsa_output.pci-0000_00_1f.3.analog-stereo
set-default-source alsa_input.pci-0000_00_1f.3.analog-stereo
Run Code Online (Sandbox Code Playgroud)

/etc/pulse/default.pa

这不起作用,启动后默认接收器设置为扩展坞,默认源设置为网络摄像头。脉冲音频告诉我

[pulseaudio] main.c: Source alsa_input.pci-0000_00_1f.3.analog-stereo does not exist.
[pulseaudio] main.c: Sink alsa_output.pci-0000_00_1f.3.analog-stereo does not exist.
Run Code Online (Sandbox Code Playgroud)

启动后重新启动脉冲音频会将默认源和接收器设置为配置中指定的笔记本电脑内部声卡。我该如何调试这个问题?

pulseaudio ubuntu-18.04

7
推荐指数
1
解决办法
1157
查看次数

在Android上移植脉冲音频

我打算在android上移植脉冲音频.我删除了可选部分(如X依赖,oss支持等)后在ubuntu上编译了它,我能够将声音远程传输到网络服务器(运行windows-7).现在我想把它移植到android.任何关于如何开始的想法都会受到赞赏,或者链接到一些页面,它正在做一些类似的事情,可以让我开始使用基本的Makefile基础设施.

谢谢.

android pulseaudio

6
推荐指数
1
解决办法
2513
查看次数

为什么当pulseaudio运行时aplay可以工作,而在其他情况下则不能?

我安装了 ubuntu,默认安装了pulseaudio。当pulseaudio运行时,它可以工作:aplay -D hw:2,7 /usr/share/xbmc/sounds/Bursting\ Bubbles/nav.wav

但当没有pulseaudio 守护进程运行时,它就不会。该命令没有给出错误,但我听不到声音。

hw:2,7 是 Nvidia hdmi 设备。

为什么是这样?我想不通。

alsa pulseaudio

6
推荐指数
1
解决办法
9762
查看次数

将PulseAudio流式传输到文件(可能使用GStreamer)

我在Ubuntu上,我想将PulseAudio输出记录到文件中,以记录pygame程序.格式没关系,因为我之后可以改变它,所以原始音频很好.

环顾四周,似乎GStreamer可能能够解决这个问题,但我对它并不熟悉,并且广泛的搜索还没有得出答案.因此欢迎涉及GStreamer或其他方面的答案.

谢谢!

audio-streaming gstreamer pulseaudio

6
推荐指数
1
解决办法
5235
查看次数

PulseAudio异步库如何用于播放原始PCM数据?

PulseAudio文档中似乎缺少一个明确的解释,我找不到任何简单的例子.

c linux audio pcm pulseaudio

6
推荐指数
1
解决办法
2013
查看次数

按属性查找pulseaudio sink-input索引

两者的输出pactl list sink-inputs,并pacmd list-sink-inputs包含一个属性部分:

Properties:
    media.name = "ALSA Playback"
    application.name = "ALSA plug-in [snapclient]"
    native-protocol.peer = "UNIX socket client"
    native-protocol.version = "29"
    application.process.id = "6393"
    application.process.user = "root"
    application.process.host = "xxxxxx"
    application.process.binary = "snapclient"
    application.language = "C"
    application.process.machine_id = "8dadf95c2f504864bc0f8b3ab149cbe0"
    application.process.session_id = "c4"
    module-stream-restore.id = "sink-input-by-application-name:ALSA plug-in [snapclient]"
Run Code Online (Sandbox Code Playgroud)

我想知道如果有一种方法直接要么查找一个水槽输入的索引由application.process.idapplication.process.binary,而不诉诸解析上述命令的输出的许多行或写入一个单独的C程序。

pulseaudio

6
推荐指数
2
解决办法
2701
查看次数

Ansible:以不同用户身份运行命令,但不使用 sudo

我的总体目标是通过ansible为特定用户重新启动pulseaudio(所以如果您有更好的想法如何做到这一点,我很乐意听到它:))

我想以用户身份运行以下命令myuser,根据pulseaudio,这不应该以 sudo/root 身份完成。

$([[ $(pulseaudio -k) -eq 0 ]] || exit 0; sleep 5; [[ $(pulseaudio -D --exit-idle-time=-1) -eq 0 ]] || exit 0)
Run Code Online (Sandbox Code Playgroud)

如果我自己在一台机器上测试它,效果会很好。如果pulseaudio正在运行,它会杀死它,然后再次启动它,如果pulseaudio已经停止,它不会失败。

尝试 1 [等待密码超时]:

我的 ansible 任务(作为角色的一部分)如下所示:

- name: restart pulse audio
  shell: '$([[ $(pulseaudio -k) -eq 0 ]] || exit 0; sleep 5; [[ $(pulseaudio -D --exit-idle-time=-1) -eq 0 ]] || exit 0)'
  args:
    executable: /bin/bash
  become: true
  become_method: sudo
  become_flags: "su - {{ ansible_user }} -c"
Run Code Online (Sandbox Code Playgroud)

但如果我运行它,我会收到错误FAILED! => {"msg": "Timeout …

bash sudo pulseaudio ansible

6
推荐指数
1
解决办法
7324
查看次数

如何从 Docker 容器中的 puppeteer 实例录制视频和音频

我正在尝试构建一个简单的服务器,基本上:

\n
    \n
  • 打开带有 puppeteer 实例的网页。
  • \n
  • 录制网页并保存视频文件。
  • \n
\n

我能够用puppeteer-stream来实现这个来实现这一点,并且它在本地运行得很好。

\n

在尝试将其放入部署到 AWS Elasticbeanstalk 的 docker 实例中时,我遇到了一个问题,无法从 docker 容器启动 chrome 浏览器,但在 xvfb 的帮助下修复了这个问题 - 现在它启动了一个假 UI用于 chrome 选项卡并记录其中的内容。

\n

此时,我可以完美录制视频,但没有音频。我尝试将 PulseAudio 设置为虚拟音频驱动程序,但它也不起作用。

\n

PulseAudio 的另一个问题是,它将记录整个过程而不是 chrome 选项卡,因此如果我们决定同时记录多个网页,将会变得混乱。

\n

这是我的 Dockerfile 目前的样子:

\n
FROM node:12\n\n# Install dependencies\nRUN apt-get update &&\\\n  apt-get install -yq gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \\\n  libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \\\n  libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 \\\n …
Run Code Online (Sandbox Code Playgroud)

pulseaudio node.js xvfb docker puppeteer

6
推荐指数
0
解决办法
1824
查看次数

如何在无头模式下在 Android 模拟器上使用虚拟音频接收器?启动模拟器时出现pulseaudio init错误

我的主机上有一个虚拟接收器。pulseaudio 作为系统范围的守护进程运行。尝试使用以下命令启动模拟器时:

emulator -avd emulator -no-window

我得到以下输出:

pulseaudio: Failed to initialize PA contextCould not init 'pa' audio driver

如果我要排除-no-window标志,那么它就可以正常工作。如何让我的虚拟接收器在无头 Android 模拟器上工作?

android qemu emulation pulseaudio android-studio

5
推荐指数
0
解决办法
304
查看次数