当前在一个项目上使用了bluez5.54 + pulseaudio 来做蓝牙音箱节点,

同时为了兼顾播放本地音乐和网络音频,安装了vlc, 在命令行搞bluetoothctl播放音频成功了。

但是,用cvlc 在命令行播放音乐出现问题:vlc播放后,退出,一会儿蓝牙的音频就死了,查看了一下是pulseaudio 挂了? 嗯?

一番瞎搞后发现cvlc启动的时候也是连接到pulseaudio 去解码的,但是pulseaudio播了vlc的音频,结束后pulseaudio 的状态变成了idle, 于是:

pulseaudio --exit-idle-time=-1

这样就行了,不会自动退出

更多功能还在摸索,比如如何用程序打开,如何禁用某个音源的音量等等。

pulseaudio非常强大,继续摸索。

既然,蓝牙和VLC都可以同时播放,pulseaudio 可以同时播出,

那么问题来了,我要选通一个通道,咋办?

vlc好办,可以停止, 蓝牙的话也可以停止,但是可能用户就直接2个模式疯狂切换呢,还有加上蓝牙连接的时候用户操作的不确定因素,比如终端点了停止,手机又点了继续播,那就很蛋疼。

所以还有个办法,就是禁用pulseaudio的sink 或者 source

vlc 和蓝牙 对于pulseaudio 来说, 是sink :

于是列出:

# pacmd list-sink-inputs
2 sink input(s) available.
    index: 9
        driver: <module-loopback.c>
        flags: VARIABLE_RATE START_CORKED
        state: RUNNING
        sink: 0 <alsa_output.0.stereo-fallback>
        volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        muted: no
        current latency: 99.84 ms
        requested latency: 65.73 ms
        sample spec: s16le 2ch 44151Hz
        channel map: front-left,front-right
                     Stereo
        resample method: trivial
        module: 29
        properties:
                media.role = "music"
                module-stream-restore.id = "sink-input-by-media-role:music"
                media.name = "Loopback from HUAWEI Mate 9"
                media.icon_name = "audio-card-bluetooth"
    index: 12
        driver: <protocol-native.c>
        flags: START_CORKED FIX_RATE
        state: RUNNING
        sink: 0 <alsa_output.0.stereo-fallback>
        volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        muted: no
        current latency: 1200.11 ms
        requested latency: 40.00 ms
        sample spec: float32le 2ch 48000Hz
        channel map: front-left,front-right
                     Stereo
        resample method: ffmpeg
        module: 12
        client: 48 <VLC media player (LibVLC 3.0.11)>
        properties:
                media.role = "video"
                media.name = "audio stream"
                application.name = "VLC media player (LibVLC 3.0.11)"
                native-protocol.peer = "UNIX socket client"
                native-protocol.version = "33"
                application.id = "org.VideoLAN.VLC"
                application.version = "3.0.11"
                application.icon_name = "vlc"
                application.language = "C"
                application.process.id = "823"
                application.process.user = "root"
                application.process.host = "buildroot"
                application.process.binary = "vlc"
                application.process.machine_id = "4460d06f23eb8dad2d7a7eb100001d8e"
                module-stream-restore.id = "sink-input-by-media-role:video"

单独静音某个声音通道:

pacmd set-sink-input-mute 12 1 #静音

pacmd set-sink-input-mute 12 0 #开声音

pacmd set-sink-input-mute 9 1 #静音

pacmd set-sink-input-mute 9 1 #开声音

操作非常方便

Pulseaudio入坑相关推荐

  1. 发布开源框架到CocoaPods入坑指南

    个人原文博客地址: 发布开源框架到CocoaPods入坑指南 在开发过程中一定会用到一些第三方框架, 只要安装了CocoaPods, 然后通过pod install命令, 就可以集成框架到项目中了 可 ...

  2. 资源 |“从蒙圈到入坑”,推荐新一波ML、DL、RL以及数学基础等干货资源

    向AI转型的程序员都关注了这个号☝☝☝ 编译 | AI科技大本营(rgznai100) 参与 | suiling 此前营长曾发过一篇高阅读量.高转发率,高收藏量的文章<爆款 | Medium上6 ...

  3. 魔兽世界多玩服务器位置,选择服务器也有大学问?新手入坑《魔兽世界》该在哪里“扎根”...

    <魔兽世界:暗影国度>开服至今已经五个多月了,圈内圈外都在讨论新版本的话题,不少萌新与老玩家都选择了在这个版本中加入探索暗影界的行列.但面对茫茫多的区服,许多玩家都犯起了"选择困 ...

  4. 2020《图像分割》从入坑到出坑指南

    本文经授权转载自机器之心(almosthuman2014),来源:medium,作者:Jakub Czakon,编译:小舟.Racoon.张倩,未经授权禁止二次转载与摘编. 本文长度为2400字,建议 ...

  5. 一份详细的“入坑Phd指南”---教你如何做笔记、整理参考书目、管理时间、如何写作、对自己和导师合理预期...

    点击上方,选择星标或置顶,每天给你送干货! 阅读大概需要5分钟 pick小博主,每天进步一丢丢 [导读]今天给大家强烈推荐一份详细的读博指南,本指南教你如何做笔记.整理参考书目.管理时间.如何写作.对 ...

  6. 干货丨从感知机到深度神经网络,带你入坑深度学习

    作者:Adi Chris 机器之心编译 参与:朱乾树.刘晓坤 机器学习工程师 Adi Chris 最近学习完吴恩达在 Coursera 上的最新课程后,决定写篇博客来记录下自己对这一领域的理解.他建议 ...

  7. python这个软件学会能做什么工作-学会Python真的有高收入?盯,请查收这份入坑指南...

    学会Python真的有高收入?盯,请查收这份入坑指南 2018-10-10 20:51:00 567点赞 6312收藏 186评论 小编注:想获得更多专属福利吗?金币加成.尊享众测.专属勋章.达人福利 ...

  8. python工程师薪资坑吗-入坑Python爬虫值不值?

    点击蓝字"python教程"关注我们哟! 有很多小伙伴,学习了Python的很多知识,比如基础语法.函数,web.爬虫.人工智能等,但是这么多就业方向,一时难选,不知道入坑Pyth ...

  9. python web-python web入坑指南

    原标题:python web入坑指南 Invest regularly in your knowledge portfolio. Make learning a habit. 自学python web ...

  10. 写给正在入坑linux系统的伙伴

    我的工作是运维工程师, 从最开始入行到现在成为运维组的组长,负责小组的几个小伙伴.回想自己当时学习Linux的时候,都是自己网上找教程,然后照着一篇一篇敲命令,记笔记.最近有时间再来整理一下Linux ...

最新文章

  1. 利用PCA进行数据降维
  2. fastReport 随记
  3. 初探WCF 如何在配置文件中指定Address?
  4. 安全与加密-使用gpg和openssl实现加密与解密
  5. 注释转换——(小项目)
  6. 【Deep Learning笔记】神经网络基础
  7. 开发中经常使用的5种设计模式
  8. usb hub区分端口_树莓派上 USB 子系统拓扑浅析
  9. 转!最适合新手小白的8个python开发环境(内附python IDE最新下载地址+软件激活码+长期有效)
  10. 如何使用ASP建立虚拟的FTP服务器
  11. 使用 matlab 数字图像处理(五)—— 双线性插值(Bilinear Interpolation)
  12. 宕昌一中2021高考成绩查询,2020届毕业生:宕昌一中“拍了拍”你 | 青春不散场 扬帆再起航...
  13. spring3.0学习之环境搭建
  14. 山东工商学院 计算机科学与技术,实验中心-山东工商学院计算机科学与技术学院...
  15. 2021-11-23日win10更新bug:共享打印机无法连接的修复
  16. js读取excel中日期格式转换问题
  17. MapGuide应用程序演示样例——你好,MapGuide!
  18. Android 源代码分享
  19. mysql 1045 远程_启用远程mysql连接:错误1045(28000):拒绝用户访问
  20. Android横向滚动卡片,RecyclerView+CardView实现横向卡片式滑动效果

热门文章

  1. 微前端single-spa vue3 实战落地
  2. 微信状态栏隐藏 HTML,完美解决微信video视频隐藏控件和内联播放问题
  3. 北风的年终总结2021
  4. IPv6与IPv4的区别 网信办等三部推进IPv6规模部署
  5. 【长安的荔枝】读书摘记
  6. 结构化设计和模块设计
  7. Pr 入门教程如何倾斜移位效果?
  8. 大量图片数据导出为excel导致内存溢出解决方案落地
  9. 高仿淘宝商品商品上拉加载SlideDetailsLayout+viewPager事件冲突
  10. 2019年年终总结及明年的期望