想用 Java 做一个功能,各位大佬来看看,给我点思路

2018-10-19 10:27:44 +08:00
 ChenHuanxi

需求: 在 win10 桌面上用 potplayer 这个软件在播放着学习视频(静音的),然后呢,在后台用网易云播放着音乐听歌(有声音的),表面学习这样子,如果有值班老师来拔我耳机听我是不是在听歌,这时我按键盘上某个键位,快速把网易云静音,potplayer 出声音,这功能怎么做?给点思路。不一定要这两个软件,其他的也行。 PS:我是在自学 java 的,想到点自己觉得有意思的东西,所有就想实现出来。

2167 次点击
所在节点    程序员
14 条回复
lihongjie0209
2018-10-19 10:36:09 +08:00
有系统接口就能做, 没有话的没办法.


还有一种方法就是用 GUI 自动化, 但是鉴于你的老师可以看到你的屏幕, 这么实现不太合理
gam2046
2018-10-19 10:56:27 +08:00
自 Windows 7 开始,Windows 允许进行分应用控制音量。因此这样的目标是可以实现的,不过要用 Win32 API,就不建议使用 Java。无论是 JNI 还是 JNA 都是一件比较痛苦的事情。

随便搜了下相关文档:

- https://docs.microsoft.com/zh-cn/windows/desktop/CoreAudio/volume-controls
- https://docs.microsoft.com/en-us/windows/desktop/api/Audiopolicy/nn-audiopolicy-iaudiosessionevents
MozzieW
2018-10-19 11:03:04 +08:00
提供一个思路, 网易云支持快捷键. 看一下播放器能不能支持快捷键静音(换一个?). 有的话自定义快捷键, 响应时发出两个快捷键, 一个停止网易云播放, 一个取消播放器静音
jason19659
2018-10-19 11:07:30 +08:00
@gam2046 #1 可以
shakoon
2018-10-19 11:08:50 +08:00
赞同 3 楼方法,这是最简单的方案了:分别设置好两个软件的静音快捷键,你的程序只需要在你按下自己的快捷键时向外发出这两个快捷键就可以了
simonliu2018
2018-10-19 11:09:36 +08:00
功能上再改进一下,当耳机被拔出的时候自动切换,岂不更好。
alvin666
2018-10-19 11:20:05 +08:00
win10 支持不同设备分别设定音量,也就是说外放的时候静音,插上耳机调大音量,这样拔下耳机的时候扬声器不会出声,老师要是让你调大音量再按两个快捷键就行了..
顺便问问 lz 多大了...
harde
2018-10-19 11:24:11 +08:00
Java 并不适合做这类软件。虽然没有规定说 Java 不能做这类软件。。。
ChenHuanxi
2018-10-19 11:26:40 +08:00
感谢各位大佬回复啊,我刚知道 V2EX 这个论坛不久,论坛氛围是真滴好,不会有乱七八糟的东西
hengo
2018-10-19 11:27:55 +08:00
建议 C#,很适合 Windows 开发
ChenHuanxi
2018-10-19 11:28:51 +08:00
@alvin666 20 多了,我就想做来玩玩的,因为在学习 java,所有就想看看能不能做点功能,没打算真滴用来上课听歌。。。只想得到那种自己做出成绩时的成就感。
ChenHuanxi
2018-10-19 11:29:40 +08:00
@gam2046 感觉有点高深,我去了解了解,谢谢
superzzy
2018-10-19 11:29:59 +08:00
用 C#吧
neighbads
2018-10-19 11:30:38 +08:00
不知道 声卡驱动会不会有拔插事件。。

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

https://www.v2ex.com/t/499025

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

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

© 2021 V2EX