无忧启动论坛

标题: 我实现了把电脑播放的声音在手机上实时播放,从而让手机替代电脑音箱或耳机。 [打印本页]

作者: ShareBit    时间: 2021-12-19 04:04
标题: 我实现了把电脑播放的声音在手机上实时播放,从而让手机替代电脑音箱或耳机。
本帖最后由 ShareBit 于 2021-12-19 04:08 编辑

某些时候想听电脑播放的声音,但又没有耳机或者音箱,或者想听虚拟机里面电脑播放的声音,但又不知道怎么设置,本软件就是解决这一类问题的。下载地址和说明在 http://www.qqsdk.com/speaker/index.html,本软件实现的就是把不低于windows vista版本(常见的win7, win8, win10就满足这个条件)的声音输出通过局域网网络传输到安卓手机客户端,让安卓手机实时播放windows播放出来的声音,从而替代电脑音箱或耳机。

电脑端:
在不低于windows vista版本系统下(比如win7, win8, win10就不低于,但windows xp, windows 2003低于)运行起来SpeakerServer.exe,
然后点击一个喇叭状的托盘图标,就显示出来一张二维码。


手机端:
把SpeakerClient.apk安装到安卓手机上(不能低于4.1.2版本),运行起来,点击"扫码登录",就可以扫码电脑上的二维码,如果扫码成功,就可以点击"开始侦听"按钮,
这时就能听到电脑端播放的声音了(电脑上即使静音了声卡也能听到),随时可以按"停止侦听"按钮


注意点:
手机必须能访问电脑局域网ip,也就是说手机要和电脑连接到同一个路由器上。
如果电脑上安装有第三方防火墙,请自行设置放行SpeakerServer.exe


有趣的事情:
电脑静音不影响手机端正常接听,但如果把音量设置到0,那么听不到声音。
SpeakerServer.exe可以运行在虚拟机里面的win7, win8, win10操作系统下,如果虚拟机所用ip是局域网ip,那么手机能连接并听到虚拟机里面电脑播放的声音
手机端软件可以按Home键把软件运行在后台(但不要息屏,息屏后在某些手机上过一段时间网络会断开),不影响手机持续的正常的播放电脑端声音
如果是长时间都不操作手机,希望一直听,可以保持手机软件主界面一直在前台即可。某一些手机可能也支持息屏后能一直播放。


扩展功能:
内部支持播放电脑麦克风输入的声音以及输出与输入的混音,但此软件没在界面或者配置文件表现出来
内部支持p2p账号方式进行连接,直接可以让手机在远程播放局域网里面的电脑的声音,但此软件也是没在界面或者配置文件表现出来

电脑端主界面:


安卓手机端软件界面:




作者:ShareBit(QQ:82170290)
2021.12.18 10:30



作者: qq2348227    时间: 2021-12-19 04:08
我王多鱼投资了
作者: lily9718    时间: 2021-12-19 06:05
谢谢分享
作者: ylac    时间: 2021-12-19 07:07
手机声音有音箱来得大?
作者: wsdyleon    时间: 2021-12-19 07:27
本帖最后由 wsdyleon 于 2021-12-19 07:29 编辑

这个软件是楼主开发的吗?

之前就有这种软件,至少说大约几个月前我在52pj就见过这种软件。当然我支持原创开发
作者: wsdyleon    时间: 2021-12-19 07:29
ylac 发表于 2021-12-19 07:07
手机声音有音箱来得大?

没有。这个是为没有音箱的电脑设计的。临时需要用音箱。
作者: szwp    时间: 2021-12-19 08:02
wsdyleon 发表于 2021-12-19 07:27
这个软件是楼主开发的吗?

之前就有这种软件,至少说大约几个月前我在52pj就见过这种软件。当然我支持原 ...

可以说下之前见过的软件名称么?
作者: wsdyleon    时间: 2021-12-19 08:38
szwp 发表于 2021-12-19 08:02
可以说下之前见过的软件名称么?

WiFi Audio Wireless Speaker
soundwire
作者: 2011slkj    时间: 2021-12-19 08:45
支持
作者: ShareBit    时间: 2021-12-19 08:45
wsdyleon 发表于 2021-12-19 07:27
这个软件是楼主开发的吗?

之前就有这种软件,至少说大约几个月前我在52pj就见过这种软件。当然我支持原 ...

就这一个软件而言,当然是我开发的。不过网上确实之前就存在着功能相似的软件,那些软件就不是我开发的了。
作者: wsdyleon    时间: 2021-12-19 08:49
ShareBit 发表于 2021-12-19 08:45
就这一个软件而言,当然是我开发的。不过网上确实之前就存在着功能相似的软件,那些软件就不是我开发的了 ...

哦,支持原创,你之前那个mirocast的软件我一直没成功。因为实际投屏上,投屏软件都会要求连接wifi,而你的那款软件是不是只能在wifi直连模式?所以出现了要不是找到不到这个投屏端,或者就是无法直连。直连的教程和场景确实太少了,绝大数没有涉及这个功能连接,即便是有这个功能,也没法连接。就像蓝牙,默认传输有些东西就不让你传。
作者: 进士小站    时间: 2021-12-19 08:55
电脑喇叭坏了可以这样临时用一下
作者: 2010twinsram    时间: 2021-12-19 09:23
本帖最后由 2010twinsram 于 2021-12-19 09:34 编辑

这个功能我6年前就用过了,办公室电脑没有音箱,手机装一个SoundWire客户端,电脑运行服务端,手机和电脑同一WiFi环境下,手机灭屏放显示器下面,可以直接看片啦

SoundWire 从安卓4.4到安卓7.0(之后没有测试过)都可用,服务端WindowsXP —— Windows10都可用(Wn11没试过)。


之前乐忠于玩“投屏”的时候,发现一个问题,就是手机画面投屏到电脑基本没什么障碍了,可是“投声”就难了,打个比方我在手机玩一个赛车游戏,手机的画面已经可以实现WiFi投屏到电脑显示器了,可是手机的声音却无法传到电脑。LZ要是自己开发此类软件,能不能实现不借助其他第三方硬件工具,实现手机“投声”到电脑呢?


作者: ShareBit    时间: 2021-12-19 09:53
2010twinsram 发表于 2021-12-19 09:23
这个功能我6年前就用过了,办公室电脑没有音箱,手机装一个SoundWire客户端,电脑运行服务端,手机和电脑同 ...

这个可以做到,而且miracast本身就可以做到,之前做的安卓端的miracast之所以对系统固件有要求,是因为在没越狱的情况下,没法重新安装无线网卡驱动。而电脑上可以方便的安装无线网卡驱动,这就不成问题了。 也就是说,我之前的那个miracast接收端,移植到电脑上的话,是能轻松实现把手机的音视频,包括鼠标键盘控制都能方便的投到电脑上来,在电脑上操作。 不过我自身没这个需求,所以没兴趣去做这么一个事情。
作者: hao8good    时间: 2021-12-19 09:54
能够手机与手机之间这样连接件好了
作者: 2012andyle113    时间: 2021-12-19 09:58
感谢分享,收藏一下
作者: haoxuejun    时间: 2021-12-19 10:24
感谢分享,收藏一下
作者: 2010twinsram    时间: 2021-12-19 10:32
ShareBit 发表于 2021-12-19 09:53
这个可以做到,而且miracast本身就可以做到,之前做的安卓端的miracast之所以对系统固件有要求,是因为在 ...

miracast 对硬件的局限性太大了,如果是笔记本估计还好办些,台式机就困难了。
作者: temp2005    时间: 2021-12-19 10:34
这个有时用得上
作者: HWR    时间: 2021-12-19 11:05
感谢分享

作者: zlq_hysy    时间: 2021-12-19 11:39
好玩,不错,使用中
作者: 旁观者清    时间: 2021-12-19 11:45
支持。
作者: bjay2008xmy    时间: 2021-12-19 12:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: sxp3468    时间: 2021-12-19 12:28
感谢分享。
作者: zhangze    时间: 2021-12-19 12:32
能用手机麦克风就更好了啊!最好是能用摄像头那就更牛皮了!!
作者: xianglang    时间: 2021-12-19 14:20
有意思。你的那个远控软件,还有更新吗?好长时间都好像没有见到什么动静了。
作者: 马路大    时间: 2021-12-19 15:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: ShareBit    时间: 2021-12-19 15:38
hao8good 发表于 2021-12-19 09:54
能够手机与手机之间这样连接件好了

不太明白你说的具体一点的功能定义是怎样的,手机与手机之间就这一个软件而言,难道你指的是随时听另一个手机输出的声音或者输入的声音?
作者: ShareBit    时间: 2021-12-19 15:42
ylac 发表于 2021-12-19 07:07
手机声音有音箱来得大?

这个软件不是用于比较手机播放出来的声音与音箱播放出来的音量大小的,而是没音箱,没耳机的情况下利用手边已有的东西能听到电脑播放出来的声音的,手机音量其实也不小。要让几层楼的人都能听到的场景就不太可能没音箱,这软件不是干这个事情的。
作者: ShareBit    时间: 2021-12-19 15:45
2010twinsram 发表于 2021-12-19 10:32
miracast 对硬件的局限性太大了,如果是笔记本估计还好办些,台式机就困难了。

miracast协议本身就是根植于无线网卡而制定的协议,台式机好办,因为查一张usb无线网卡是一件很简单的事情,至于支持micast协议的无线网卡驱动,在电脑上可以随便安装,所以这最多就只是一个驱动代码的事情,而不涉及到固件无root权限肯定是搞不定的事情。
作者: ShareBit    时间: 2021-12-19 15:46
本帖最后由 ShareBit 于 2021-12-19 16:03 编辑
bjay2008xmy 发表于 2021-12-19 12:17
软件还是不错的,虽然有点杂音

这个杂音我是没听出来,理论上也不应该有,但如果你手机的WIFI无线信号比较差,这可能会存在,因为采用的是UDP传输,所以信号差的情况下会丢数据,但这就没办法了,假设这种场景人为的做到不丢包,但是延迟却会累积,会导致声音不断延迟,而我目前的做法是不会导致累积性声音延迟的。
作者: ShareBit    时间: 2021-12-19 15:52
xianglang 发表于 2021-12-19 14:20
有意思。你的那个远控软件,还有更新吗?好长时间都好像没有见到什么动静了。

没看出有啥特别需要改进的地方,或者说要改进的话,改动太大,所以暂时没动静。
作者: ShareBit    时间: 2021-12-19 15:55
zhangze 发表于 2021-12-19 12:32
能用手机麦克风就更好了啊!最好是能用摄像头那就更牛皮了!!

调用出别的手机的摄像头或者桌面不难,难的是怎么能稳定的在后台运行,估计你思考的还是不让别人发现或者即使发现了也杀不死进程,那这就太难了。 而合法的用户自己用一个手机去利用另一个手机的资源,比如调用摄像头,桌面,麦克风等等功能,这不难,很简单,但我想不出来这种软件的应用与价值
作者: zhangze    时间: 2021-12-19 16:35
ShareBit 发表于 2021-12-19 15:55
调用出别的手机的摄像头或者桌面不难,难的是怎么能稳定的在后台运行,估计你思考的还是不让别人发现或者 ...

腾讯会议,电脑没有耳机没有摄像头!!
作者: ShareBit    时间: 2021-12-19 16:38
zhangze 发表于 2021-12-19 16:35
腾讯会议,电脑没有耳机没有摄像头!!

手机上也应该有腾讯会议的软件的吧? 这按理没啥作用的啊,把手机信息弄到电脑上比起直接用手机,好处是哪些呢?
作者: cscz    时间: 2021-12-19 18:38
华为管家最新的版本也有类似的功能
作者: doing42524    时间: 2021-12-20 09:06
win10LTSC2016,台式机。没有插入耳机时,右下角的系统声音图标有红叉标志,提示“未插入扬声器或耳机”,此时侦听不到电脑的声音。感觉像是系统检测到没有外放设备,所以直接就掐掉了声音一样。但插上耳机就正常了
作者: ShareBit    时间: 2021-12-20 16:17
doing42524 发表于 2021-12-20 09:06
win10LTSC2016,台式机。没有插入耳机时,右下角的系统声音图标有红叉标志,提示“未插入扬声器或耳机”, ...

你反馈的问题,我暂时不能准确的得知是否能够解决。我自己测试是这样的:我的电脑耳机接口有前置接口和后置接口,首先如果前置接口也接上了耳机,那么如下图 , 这时两个都可以选择,即使选择Digital,因为后面没接耳机,显然是啥都听不到,但用我的软件,能正常听到声音,当然如果选择High Definition,耳机会发声,手机也还是能听到。

如果把前置的耳机拔掉,那么这里变成这样 ,就没有了前置耳机的选择了,用我软件能听到声音。


当然如果这里本身就只有一个,而没有两个的情况,那么拔掉耳机按理确实就啥都没有了,这种情况下估计我的程序也不会正常,但我却不太方便去模拟并分析是否能方便解决。


作者: 2011laohu    时间: 2021-12-20 16:55
小主机没喇叭,有时临时测试好用
作者: doing42524    时间: 2021-12-20 20:35
ShareBit 发表于 2021-12-20 16:17
你反馈的问题,我暂时不能准确的得知是否能够解决。我自己测试是这样的:我的电脑耳机接口有前置接口和后 ...

恩,多谢回复哈,我准备重装一个系统试试。既然插上耳机软件就运行正常,那应该不是软件的问题。你的软件真的很不错。
作者: ShareBit    时间: 2021-12-20 22:20
安卓手机端软件做了一点改动,之前没特别处理回退键,这会导致某些时候误接触到回退键而直接退出软件,现在增加退出确定选择。
作者: qq2348227    时间: 2021-12-21 09:02
edison_2008 发表于 2021-12-21 08:37
没想到啊没想到
卧龙先生竟也在坛里泡着

爱迪生,我俩珠联璧合,你卧龙,我凤雏。
作者: ghostscat    时间: 2021-12-21 09:08
都是技术达人啊,支持研究。

话说,真少个什么,叫外送也很方便
作者: ShareBit    时间: 2021-12-21 14:37
doing42524 发表于 2021-12-20 09:06
win10LTSC2016,台式机。没有插入耳机时,右下角的系统声音图标有红叉标志,提示“未插入扬声器或耳机”, ...

我通过禁用声卡设备(我电脑上有两个声卡设备),重现了你说的现象,网上稍微看了一下,都是说在系统设置的某个地方勾选" 禁用前面板插孔检测"就能解决,但我自身稍微找了一下,没找到这个选项。 如果找不到,那可能就搞不定了,按理开发一个虚拟声卡驱动程序是可以彻底不依赖物理的声卡设备的,只是现在的操作系统强制要求对驱动进行签名,所以我自身就没动力去完善这一个环节了。
作者: doing42524    时间: 2021-12-21 16:02
ShareBit 发表于 2021-12-21 14:37
我通过禁用声卡设备(我电脑上有两个声卡设备),重现了你说的现象,网上稍微看了一下,都是说在系统设置的 ...

嗯,我也是找了半天没有找到禁用前面板插孔检测,我以为是我系统的问题。
作者: q67512    时间: 2021-12-21 16:15
支持原创,用过3个这方面的软件,目前在用的还比较满意。
作者: ShareBit    时间: 2021-12-22 16:21
修改了安卓端软件,解决切换横竖屏导致断开的问题。
作者: 2011angelfish    时间: 2021-12-22 20:26
这个好神奇,收藏一个!!
作者: 2010hfxiaozi    时间: 2021-12-25 00:42
扫了 提示连接失败
作者: ShareBit    时间: 2021-12-25 05:29
2010hfxiaozi 发表于 2021-12-25 00:42
扫了 提示连接失败

首先是你手机的网络能直连上你电脑内网那个ip,然后就是看你电脑是否有防火墙专门挡住了speakerserver.exe
实际上你可以自己用通用的二维码扫码看我那个二维码,本质就是电脑局域网ip和自己的端口


作者: 清晨散步    时间: 2021-12-25 08:55
苹果手机能用吗?
作者: xiaoyaoy    时间: 2021-12-25 11:16
可以指定serverip就好了, 那么通过端口转发,在互联网上也可听电脑上的声音
作者: xiaoyaoy    时间: 2021-12-25 11:18
能支持指定serverip就更好了, 通过端口转发, 在互联网上也可收听电脑声音了
作者: ShareBit    时间: 2021-12-25 11:56
清晨散步 发表于 2021-12-25 08:55
苹果手机能用吗?

要在IOS上做出和安卓手机上同样的软件技术上没任何问题,本身我也会开发IOS程序,只是账号没续费,做出来也无法在苹果应用商店发布。 我也会html5 + web assembly技术,用这个技术可以做到在几乎所有浏览器上(通吃各种手机,操作系统下自带的浏览器,微信,qq等内置浏览器)都能实时播放音视频,只是我不太确定做这个事情是否有价值,我自身没有对这个有需求。
作者: zq789    时间: 2021-12-25 14:26
支持一下
作者: ShareBit    时间: 2021-12-25 16:44
xiaoyaoy 发表于 2021-12-25 11:16
可以指定serverip就好了, 那么通过端口转发,在互联网上也可听电脑上的声音

是可以做到的。 你扫码直接看文字,大体会是这样: Author:ShareBit(QQ:82170290)|GOqFfdHD0v|50538|192.168.2.2    后面的 50538就是本机端口, 192.168.2.2 就是本机局域网ip, 你完全可以自己映射端口后,修改这个字符串,生成二维码,扫你自己做的那个二维码就搞定了。 当然这确实不是很方便,只是说目前我不做任何改动的情况下用户本身确实也能做到公网访问。  我内部实际上支持p2p方式,只是觉得这样用户用起来更放心,是最多的一种用法,所以没打开p2p方式,并且没做音频编码,目前的数据量是比较大的,一秒64KB字节的音频数据,这不是很适合公网传输。
作者: 2010hfxiaozi    时间: 2021-12-25 23:18
本帖最后由 2010hfxiaozi 于 2021-12-25 23:44 编辑
ShareBit 发表于 2021-12-25 05:29
首先是你手机的网络能直连上你电脑内网那个ip,然后就是看你电脑是否有防火墙专门挡住了speakerserver.exe ...

防火墙重新开启、关闭一下,可以了
作者: ShareBit    时间: 2021-12-26 00:54
2010hfxiaozi 发表于 2021-12-25 23:18
防火墙重新开启、关闭一下,可以了

我感觉你是否没同意用管理员权限运行这个软件导致? 本来这一个程序是一个普通的应用程序,不需要管理员权限,但是因为使用的是udp,而且是接受数据传入的udp,这不会导致防火墙主动弹出来让你选择放行,所以我内部就实现了自己加入防火墙白名单,这个操作就是需要管理员权限的,如果你不同意用管理员权限运行,那么加入windows自带防火墙白名单的功能就无法完成,这样客户端就连接不上。本来加入防火墙白名单只需要操作一次就够,也就是只需要一次管理员权限,但是因为我不喜欢类似什么安装程序之类的,而且我觉得用户完全可以随便复制出来,在另外的路径执行,所以就有了需要管理员权限运行这个事情。当然明白了我这个处理之后,你完全可以第一次运行的时候同意管理员权限运行,以后不允许也是没关系的。
作者: ShareBit    时间: 2021-12-26 00:58
这也是我在说明文档里面提到的"如果电脑上安装有第三方防火墙,请自行设置放行SpeakerServer.exe", 为什么第三方防火墙要自己放行,就在于系统自带的我内部已经有代码把自己加入白名单,但是这需要管理员权限,不同意用管理员权限运行,那么系统自带的防火墙也已经阻止了客户端访问进入。
作者: sairen139    时间: 2021-12-26 08:36
能弄个纯64位的版本吗?我的精简系统去掉了32位程序的支持
作者: ShareBit    时间: 2021-12-26 20:19
sairen139 发表于 2021-12-26 08:36
能弄个纯64位的版本吗?我的精简系统去掉了32位程序的支持

知悉你这需求,我有空的时候做好会再次@你的
作者: 2010hfxiaozi    时间: 2021-12-26 23:32
ShareBit 发表于 2021-12-26 00:54
我感觉你是否没同意用管理员权限运行这个软件导致? 本来这一个程序是一个普通的应用程序,不需要管理员 ...

我是关了uac的,所以没注意是不是管理员权限
作者: xiaoyaoy    时间: 2021-12-27 10:48
所谓p2p方式, 指的是通过哪个网络传输的? 没打开我也就是问问
作者: 2012ccxbox    时间: 2021-12-27 15:47
有时候还是能用上的
作者: ShareBit    时间: 2021-12-28 01:51
本帖最后由 ShareBit 于 2021-12-28 02:02 编辑
sairen139 发表于 2021-12-26 08:36
能弄个纯64位的版本吗?我的精简系统去掉了32位程序的支持

已经提供了64位的SpeakerServer软件。 做到我这个单独一个文件,并且依赖的操作系统动态库很少的这种效果,是一件不太容易的事情,经过一连串的非常规粘合,终于做到不依赖VC运行时库和第三方动态库。用动态库的方式组合软件功能简单,但有些情况要让完全不同的编译器编译出来的obj文件静态连接起来形成一个可执行文件非常难。
作者: ShareBit    时间: 2021-12-28 01:56
xiaoyaoy 发表于 2021-12-27 10:48
所谓p2p方式, 指的是通过哪个网络传输的? 没打开我也就是问问

p2p方式存在调度公网服务器,经过技术手段,让两个不同局域网程序直连通信,但这不能确保100%成功,实际上直连成功率比较低,这种要么就表现为联不通,要么实现某种中转策略,从用户的角度上看任何环境都直连成功。 我的远程桌面软件就打开了我自己实现的 基于udp的可靠的高效率的p2p传输。
作者: sairen139    时间: 2021-12-28 08:33
ShareBit 发表于 2021-12-28 01:51
已经提供了64位的SpeakerServer软件。 做到我这个单独一个文件,并且依赖的操作系统动态库很少的这种效果 ...

非常感谢你的费心开发,感觉是挺有价值的一个软件!
作者: sairen139    时间: 2021-12-28 08:35
ShareBit 发表于 2021-12-28 01:51
已经提供了64位的SpeakerServer软件。 做到我这个单独一个文件,并且依赖的操作系统动态库很少的这种效果 ...

可以试试往监听监控发现发展,说不定有更广阔的作为天地
作者: lisawu    时间: 2021-12-28 19:38
用了一天,确实很方便呢。
作者: nic870909    时间: 2024-4-12 10:37
大佬厉害啊,亲测可用,方便实用
作者: musiye14    时间: 2024-4-12 10:47
收藏了   感觉很有用




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3