欢迎光临
我们一直在努力

Pulseaudio进阶开发之module-udev-detect模块实战(三十六)

简介: CSDN博客专家、《Android系统多媒体进阶实战》作者

博主新书推荐:《Android系统多媒体进阶实战》🚀 Android Audio工程师专栏地址: Audio工程师进阶系列【原创干货持续更新中……】🚀 Android多媒体专栏地址: 多媒体系统工程师系列【原创干货持续更新中……】🚀 专题一 二:AAOS车载系统+AOSP14系统攻城狮入门视频实战课 🚀 专题三:Android14 Binder之HIDL与AIDL通信实战课 🚀 专题四:Android15快速自定义与集成音效实战课 🚀 专题五:Android15音频策略实战课 🚀 专题六:Android15音频性能实战课(无声/杂音/断音/爆音实战案例) 🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

🍉🍉🍉文章目录🍉🍉🍉

    • 🌻1.前言
    • 🌻2.开发需求
    • 🌻3.解决方案
      • 3.1 module-udev-detect配置位置
      • 3.2 module-udev-detect在设备加载流程中的位置
    • 🐓4.实战案例
      • 4.1 配置方案
      • 4.2 使用默认方式自动发现声卡
      • 4.3 查看module-alsa-card是否被自动加载
      • 4.4 关闭timer-based scheduling
      • 4.5 配置use_ucm使用ALSA UCM
      • 4.6 忽略错误的ALSA dB信息
      • 4.7 配置deferred_volume
      • 4.8 配置avoid_resampling
      • 4.9 配置fixed_latency_range
      • 4.10 使用udev规则忽略指定声卡
      • 4.11 验证USB声卡热插拔
      • 4.12 检查SOUND_INITIALIZED属性
      • 4.13 查看Card、Profile、Port、Sink和Source
      • 4.14 自动发现和手动加载二选一
      • 4.15 查看module-udev-detect运行日志
      • 4.16 验证设备发现结果
        • 4.16.1 查看ALSA声卡
        • 4.16.2 查看udev声卡属性
        • 4.16.3 查看设备事件
        • 4.16.4 查看module-udev-detect
        • 4.16.5 查看module-alsa-card
        • 4.16.6 查看PulseAudio Card
        • 4.16.7 查看sink
        • 4.16.8 查看source
        • 4.16.9 查看Card详细信息
        • 4.16.10 查看前台日志
    • 🌻5.常见问题定位
      • 5.1 ALSA已经识别声卡,为什么PulseAudio没有Card?
      • 5.2 module-udev-detect已经加载,为什么没有加载module-alsa-card?
      • 5.3 PulseAudio有Card,为什么没有创建sink/source?
      • 5.4 USB声卡插入后为什么没有自动出现?
      • 5.5 USB声卡拔出后为什么sink还存在?
      • 5.6 配置tsched=0后为什么仍然卡顿?
      • 5.7 use_ucm=yes后为什么声卡加载失败?
      • 5.8 为什么出现重复Card、sink或source?
      • 5.9 为什么每次重启后card编号都变化?
    • 🌻6.总结

🌻1.前言

本篇目的:Pulseaudio进阶开发之module-udev-detect实战案例

  • module-udev-detect模块:
  • 主要负责通过udev发现Linux系统中的ALSA声卡,并根据声卡的添加、变化和移除事件,动态加载或卸载module-alsa-card。
  • 它本身不直接创建最终的sink/source,而是把已经初始化完成的ALSA声卡交给module-alsa-card处理。

🌻2.开发需求

通过module-udev-detect自动发现ALSA声卡、处理USB声卡热插拔、加载板载声卡,并定位“ALSA已经识别声卡,但PulseAudio没有创建sink/source”等常见问题。

实际开发中常见需求:

配置目标
应该使用什么方式
不应该使用什么方式
原因
自动发现系统中的ALSA声卡 module-udev-detect 手动逐个加载module-alsa-sink udev可以统一枚举并监听声卡变化
USB声卡插入后自
赞(0)
未经允许不得转载:171主机测评 » Pulseaudio进阶开发之module-udev-detect模块实战(三十六)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址