直接播放PulseAudio转播的PCM数据流,把手机变成电脑的音箱

Totem,mplayer,sopcast,realplayer,bmp
回复
fuhuizn
帖子: 934
注册时间: 2006-01-06 22:55
系统: ubuntu
送出感谢: 3 次
接收感谢: 24 次
联系:

直接播放PulseAudio转播的PCM数据流,把手机变成电脑的音箱

#1

帖子 fuhuizn » 2022-06-23 20:26

TcpSpeaker:安卓上的网络PCM数据流播放器

源代码:https://gitee.com/rocket049/tcpspeaker

因为我的新笔记本电脑声卡没有linux驱动程序,我不得已只得用手机做笔记本电脑的音箱,本来我用的是soundwire软件,后来我不太喜欢它,就自己编写了这个安卓播放器,可以直接播放PCM数据流,可以匹配PulseAudio的模块module-simple-protocol-tcp,经过优化,延迟很小,不比soundwire差。使用了前台服务技术,可以像系统的音乐播放器一样后台播放。具体PCM数据流的参数需求是:
format: s16le
sampleRate: 20k
channels: 1

配置 pulseaudio 的 模块module-simple-protocol-tcp 的方法:
pacmd load-module module-simple-protocol-tcp rate=20000 format=s16le channels=1 source=音频源名称或编号 record=true port=8001

查询音频源名称或编号的办法,当播放音乐时在命令行输入下面的命令:
pactl list sources short
后面显示“IDLE”的就是你需要的音频源。


具体原理请参考:
https://zhuanlan.zhihu.com/p/421836234
https://www.freedesktop.org/wiki/Softwa ... r/Modules/
回复