Raspberry ALSA 声音输出/输入从机

2023-12-06

我正在尝试设置一台设备用于播放,另一台设备用于捕获,我的nano /etc/asound.conf有这个:

pcm.!default {
        type asym
        playback.pcm "plughw:1,1"
        capture.pcm  "plughw:1,0"
}

ctl.!default {
        type hw
        card 0
}

我可以完美地播放声音,但无法录制声音,我的 python 代码抛出以下错误:

ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) 
unable to open slave
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.c:2217:(snd_pcm_open_noupdate) 
Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline

ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) 
The dmix plugin supports only playback stream

ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) 
unable to open slave

这是我正在运行的代码的一部分:

import pyaudio
class Microphone(AudioSource):
    def __init__(self, device_index = None):
        self.device_index = device_index
        self.format = pyaudio.paInt16 # 16-bit int sampling
        self.SAMPLE_WIDTH = pyaudio.get_sample_size(self.format)
        self.RATE = 16000 # sampling rate in Hertz
        self.CHANNELS = 1 # mono audio
        self.CHUNK = 1024 # number of frames stored in each buffer

        self.audio = None
        self.stream = None

    def __enter__(self):
        self.audio = pyaudio.PyAudio()
        self.stream = self.audio.open(
            input_device_index = self.device_index,
            format = self.format, rate = self.RATE, channels = self.CHANNELS, frames_per_buffer = self.CHUNK,
            input = True, # stream is an input stream
        )
        return self

    def __exit__(self, exc_type, exc_value, traceback):
        self.stream.stop_stream()
        self.stream.close()
        self.stream = None
        self.audio.terminate()

我应该如何修复这个错误?

先感谢您。


pyaudio是基于音频端口;所有这些愚蠢的消息都是因为 PortAudio 试图枚举音频设备。

pyaudio设备索引不一定与 ALSA 卡索引相同。 使用获取设备计数() and 按索引获取设备信息()找到要使用的输入设备。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Raspberry ALSA 声音输出/输入从机 的相关文章

  • Python BigQuery 存储。并行读取多个流

    我有以下玩具代码 import pandas as pd from google cloud import bigquery storage v1beta1 import os import google auth os environ G
  • InterfaceError:连接已关闭(使用 django + celery + Scrapy)

    当我在 Celery 任务中使用 Scrapy 解析函数 有时可能需要 10 分钟 时 我得到了这个信息 我用 姜戈 1 6 5 django celery 3 1 16 芹菜 3 1 16 psycopg2 2 5 5 我也使用了psyc
  • Python PAM 模块的安全问题?

    我有兴趣编写一个 PAM 模块 该模块将利用流行的 Unix 登录身份验证机制 我过去的大部分编程经验都是使用 Python 进行的 并且我正在交互的系统已经有一个 Python API 我用谷歌搜索发现pam python http pa
  • 如何收集列表、字典等中重复计算的结果(或制作修改每个元素的列表的副本)?

    There are a great many existing Q A on Stack Overflow on this general theme but they are all either poor quality typical
  • C# 音频库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • AudioTrack、SoundPool 或 MediaPlayer,我应该使用哪个?

    如果我需要能够 播放多个音频文件 具有不同的持续时间 例如 5 到 30 秒 独立设置右 左声道的音量 应用声音效果 如混响 失真 那么 我应该使用哪个 API 另外 我在 AudioTrack API 上找不到太多文档 有谁知道在哪里可以
  • 如何使用 Scrapy 从网站获取所有纯文本?

    我希望在 HTML 呈现后 可以从网站上看到所有文本 我正在使用 Scrapy 框架使用 Python 工作 和xpath body text 我能够获取它 但是带有 HTML 标签 而且我只想要文本 有什么解决办法吗 最简单的选择是ext
  • Spark的distinct()函数是否仅对每个分区中的不同元组进行洗牌

    据我了解 distinct 哈希分区 RDD 来识别唯一键 但它是否针对仅移动每个分区的不同元组进行了优化 想象一个具有以下分区的 RDD 1 2 2 1 4 2 2 1 3 3 5 4 5 5 5 在此 RDD 上的不同键上 所有重复键
  • __del__ 真的是析构函数吗?

    我主要用 C 做事情 其中 析构函数方法实际上是为了销毁所获取的资源 最近我开始使用python 这真的很有趣而且很棒 我开始了解到它有像java一样的GC 因此 没有过分强调对象所有权 构造和销毁 据我所知 init 方法对我来说在 py
  • 安装后 Anaconda 提示损坏

    我刚刚安装张量流GPU创建单独的后环境按照以下指示here https github com antoniosehk keras tensorflow windows installation 但是 安装后当我关闭提示窗口并打开新航站楼弹出
  • keras加载模型错误尝试将包含17层的权重文件加载到0层的模型中

    我目前正在使用 keras 开发 vgg16 模型 我用我的一些图层微调 vgg 模型 拟合我的模型 训练 后 我保存我的模型model save name h5 可以毫无问题地保存 但是 当我尝试使用以下命令重新加载模型时load mod
  • 表达式中的 Python 'in' 关键字与 for 循环中的比较 [重复]

    这个问题在这里已经有答案了 我明白什么是in运算符在此代码中执行的操作 some list 1 2 3 4 5 print 2 in some list 我也明白i将采用此代码中列表的每个值 for i in 1 2 3 4 5 print
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • 如何将 PIL 图像转换为 NumPy 数组?

    如何转换 PILImage来回转换为 NumPy 数组 这样我就可以比 PIL 进行更快的像素级转换PixelAccess允许 我可以通过以下方式将其转换为 NumPy 数组 pic Image open foo jpg pix numpy
  • VSCode:调试配置中的 Python 路径无效

    对 Python 和 VSCode 以及 stackoverflow 非常陌生 直到最近 我已经使用了大约 3 个月 一切都很好 当尝试在调试器中运行任何基本的 Python 程序时 弹出窗口The Python path in your
  • 在python中,如何仅搜索所选子字符串之前的一个单词

    给定文本文件中的长行列表 我只想返回紧邻其前面的子字符串 例如单词狗 描述狗的单词 例如 假设有这些行包含狗 hotdog big dog is dogged dog spy with my dog brown dogs 在这种情况下 期望
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • Spark.read 在 Databricks 中给出 KrbException

    我正在尝试从 databricks 笔记本连接到 SQL 数据库 以下是我的代码 jdbcDF spark read format com microsoft sqlserver jdbc spark option url jdbc sql
  • Python - 字典和列表相交

    给定以下数据结构 找出这两种数据结构共有的交集键的最有效方法是什么 dict1 2A 3A 4B list1 2A 4B Expected output 2A 4B 如果这也能产生更快的输出 我可以将列表 不是 dict1 组织到任何其他数
  • Python:元类属性有时会覆盖类属性?

    下面代码的结果让我感到困惑 class MyClass type property def a self return 1 class MyObject object metaclass MyClass a 2 print MyObject

随机推荐

  • Python 找不到 System32

    我想打开我创建的一个exe 它位于Windows的System32文件夹中 我通过以下命令执行此操作 subprocess call C Windows System32 ListTest exe 但不知何故Python找不到System3
  • java守护线程

    大家好 当封闭的线程完成时 守护线程会停止工作吗 或者当 主 线程完成时守护线程将停止 我在 jre6 上测试了这个例子 结果是daemon thread stopped working when the enclosing it thre
  • 如何使单击事件适用于具有同一类的多个元素?

    我试图在每次用户单击多个图块时实现翻转效果 这有点像仪表板类型网页的开始 如何使点击事件适用于多个同名类 所有图块都具有相同的类名 但在不同的 box div 下 jquery 单击事件似乎仅在添加的最后一个图块中实现 而其他图块保持静态
  • Bash 将带引号的行分割成参数

    希望这个问题以前没有出现过 至少我没有找到答案 也许看起来不太好 假设我收到了这段文字 hello hello hello world 请告诉我为什么这两个脚本有不同的输出 1 文本保存在文件中 bin bash while read li
  • 我需要回答有关 setTimeout 的问题

    所以我们都知道 setTimeout 在执行某些操作之前会等待一定的时间 我的问题是 它是否先等待上面的代码完成执行 然后再等待一秒钟执行其他操作 或者只是等待一秒钟 无论上面的代码是否已完成执行 它都会执行其余的代码无论如何 代码 if
  • 具有多个外键的 Django 内联表单

    我正在尝试在我的模板中使用 Django 的 ModelForm 和内联表单 但是 我找不到任何文档可以整齐地映射到具有多个外键的数据库模型回到同一个表 这些是我的模型 models py class Universities models
  • 使用 ADO 和 win32com 获取 SQL Server 消息

    我目前正在尝试编写一个工具 使不懂计算机的用户可以轻松备份 SQL Server 数据库 为此 我希望使用 ADO win32com 和 adodbapi 的有趣组合 目前我可以轻松连接到服务器并发出BACKUP DATABASET SQL
  • 无法使用密钥、证书和 CA 为 Tomcat 创建密钥库 证书链长度:1

    我无法获得从 RapidSSL 购买的证书 该证书在 Tomcat 上运行 但在 Apache 上运行 RapidSSL 要求您安装 2 个中间 ca 文件 当我从私钥 证书和中间 CA s 创建密钥库时 我可以看到 Entry type
  • 如何在 Zend Framework 中添加更新查询限制?

    我如何添加LIMIT 1使用 Zend Framework 时更新的子句 我有点被迫不使用Zend Db Table Abstract update 因为它会自行执行 与甜蜜不同Zend Db Select 课程 这样做的原因只是预防措施
  • Javascript无限嵌套数组处理

    我正在尝试和我的朋友一起玩 他解决了8m 7s中提到的问题 对我来说已经20m了 我不知道如何处理 JavaScript 中的无限嵌套数组 问题是这样的 i will be an array containing integers stri
  • 方向改变时相机出现问题

    我正在开发一个应用程序 当设备方向从横向变为纵向或反之亦然时 该应用程序会调用不同的活动 横向模式的活动是增强现实活动 因此我使用相机向用户展示周围环境 但是 当我尝试返回纵向时 应用程序崩溃并显示以下错误 08 17 16 05 42 6
  • 在 Django 中为两种类型的用户子类 AbstractUser

    我正在 Django 1 5 中开发一个学校数据库系统 并计划拥有许多不同的用户类型 学生 员工 家长 这些用户类型是 AbstractUser 的子类 实际上是 AbstractUser 的另一个抽象子类 我只是试图将外部开发的应用程序添
  • QT“没有这样的插槽”错误[重复]

    这个问题在这里已经有答案了 这是我的类定义 hpp 文件的一部分 class RenderGraphFrame public QGLWidget public RenderGraphFrame QWidget parent private
  • 如何递归计算列表中的项目数

    我希望递归地计算列表中的项目 例如 我列出了几个列表 a b c h b d c e f h 我试图找到一种方法来找出列表 a 的长度 但是在列表 a 中 我有 b c 和 h 因此我的函数然后进入列表 b 并计算那里的元素数量 然后列表
  • 在 Windows 10 上为 PyPy3 安装 numpy 时出现问题

    我在尝试在 Windows 10 计算机上安装 pypy3 的 numpy 时遇到问题 由于我无法判断这个问题是源于我的 pypy3 安装还是其他原因 所以我在这里描述了迄今为止我所遵循的所有步骤 正如官方所示下载页面 I have 下载并
  • git pull 是否总是创建合并提交?

    Does git pull总是创建合并提交 如果我有一个我更新的功能分支git pull r master 然后我切换到 master 并执行git pull feature branch我不think我得到一个合并提交 你有一个关于 gi
  • 如何像模拟橡皮擦效果一样用线条路径绘制CALayer?

    我想用触摸事件模拟橡皮擦效果 以显示顶部某块后面的图像 例如灰色 像这样的东西 我已经找到解决方案很长时间了 但我不能做得很好 以下是我的自定义视图代码 自定义视图 m id initWithCoder NSCoder aDecoder i
  • Val 在 Scala 中的行为

    我在尝试从 Eclipse 执行以下代码时收到错误 因为我无法重新分配 Val 对吧 object Test def main args Array String val tempVal 100 val checkval if tempVa
  • 在 javafx 中创建图像覆盖蒙版

    我正在尝试做一件简单的事情 我有一个二值图像 我想要的只是将二值图像叠加在彩色图像上 但是二值图像中的白色像素应该是红色的 黑色像素应该是透明的 我已经习惯了 JavaFx 但我还是坚持使用这个 我知道我可以通过使用 PixelReader
  • Raspberry ALSA 声音输出/输入从机

    我正在尝试设置一台设备用于播放 另一台设备用于捕获 我的nano etc asound conf有这个 pcm default type asym playback pcm plughw 1 1 capture pcm plughw 1 0