写了个 把手机作为电脑扬声器 的 app,成功上架 google play

21 天前
 sduoduo233

下载

https://play.google.com/store/apps/details?id=cc.viaaudio

https://www.viaaudio.cc/

功能

唯一的功能是把电脑的音频推流到手机。感觉这个需求很小众,不太好推广 😂

还有一个副功能是可以做到一个电脑同时连两个蓝牙耳机:PC 端直接连第一个蓝牙耳机,用 ViaAudio 把音频串流到手机,然后用手机连第二个蓝牙耳机。

起源

一年前我注册了 google play 开发者,想上传一个自己写的 VPN 应用。但是正好赶上 google play 政策更新,新政策禁止个人开发者上架 VPN 应用,只能用公司账户上架。我没有公司账户,所以只能放弃。

一个月多前收到 goolge play 邮件,说如果我账户再不发布任何 app 就要被关闭了。为了不浪费注册花的 $25 ,加上当时临时需要扬声器,就写了这个 把手机作为电脑扬声器 的 app 。

如何找 tester

nodeseek.com 发帖找的,大家很热情,很快就攒够 12 个人了
我当时发的帖子 https://www.nodeseek.com/post-484194-1

技术实现

桌面端是用 c 写的。UI 用的 clay + sokol。用 clay 是因为之前看了一个 youtube 视频 感觉很有意思,就借着这次机会尝试一下。另外一个原因是 clay 和 sokol 都是 c header only 的,所以不用折腾 cmake / makefile 之类的构建系统,直接 gcc main.c 就能编译。声卡录音用的是 miniaudio,这个也是 c header only ,只下载 .h 文件就能用。

音频推流我尝试过用 rtmp ,但发现延迟很高。最终决定手搓推流,用 miniaudio 录音以后,转成 PCM 格式,直接用 udp 发给 app 。app 进行 udp 乱序重组。udp 丢包就直接不管了,同局域网下丢包率应该不高。现在延迟能做到和蓝牙耳机差不多(个人凭感觉得出的结论,没有认真测试过)

2187 次点击
所在节点    分享创造
30 条回复
wu67
21 天前
确实挺小众, 早些年还有 upnp 方案, 在同一局域网的手机和电脑之间互相作为输出设备
win11
21 天前
玩过类似的工具,但是将移动端设备作为 pc 的麦克风、摄像头,键盘鼠标…
liuzimin
21 天前
我用的是 AudioRelay
sduoduo233
21 天前
@liuzimin audiorelay 有广告,所以就自己写了一个 🤣
koa
21 天前
“说如果我账户再不发布任何 app 就要被关闭了” Google Play 开发者账号还有这个规定?
sduoduo233
21 天前
@koa 有这个规定的

Donkor
21 天前
确实好小众,目标群体是哪一些
livib
21 天前
似乎在某些特殊场景下确实可能会有用,但我似乎没有
andykuen959595
21 天前
必须 Win11 啊
greatlion
21 天前
好棒 还没想到对我有啥用。。。
sduoduo233
21 天前
@andykuen959595 win10 应该也可以,只不过手头没有 win10 电脑,没测试过。
Routeros
21 天前
挺不错的,能不能接加一个功能:设置电脑是否同时播放音频。 目前听到了两个声音。
nekoneko
21 天前
zerotier 公司, 家, 手机 组网
公司电脑在机房, 所以没有扬声器,
那么我用公司电脑 mstsc 家里电脑的时候, 可以用这个来接收音频?

但是试了一下不太行.
nekoneko
21 天前
@nekoneko 断开手机的蓝牙耳机后, 可以用扬声器播放声音...
nekoneko
21 天前
@nekoneko #14 重启 app 后, 用蓝牙耳机也可以了
xi4oyu
21 天前
我也写过这样的工具,当时台式机没音响就想到这个需求,当时是在电脑上启动一个 python web 服务负责录音,然后手机打开网站用 js 回放的,写得非常粗糙
sduoduo233
21 天前
@Routeros

Linux 上可以用 `pactl load-module module-null-sink sink_name="virtual_speaker" sink_properties=device.description="virtual_speaker"` 创建一个虚拟扬声器,把系统默认输出改成这个虚拟的,然后在 viaaudio 里选虚拟扬声器

Windows 上应该也可以用虚拟扬声器 比如这个 https://vb-audio.com/Cable/index.htm
Lyet813
21 天前
我现在正常用 AudioRelay ,缺点是每次电脑重启后无法自动连接,op 有做这个功能吗?
craftsmanship
21 天前
牛哇 用 C 写 UI
achong
21 天前
有 mac 版吗,电脑链接两个蓝牙耳机有点需求

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1174890

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX