需求: 在 win10 桌面上用 potplayer 这个软件在播放着学习视频(静音的),然后呢,在后台用网易云播放着音乐听歌(有声音的),表面学习这样子,如果有值班老师来拔我耳机听我是不是在听歌,这时我按键盘上某个键位,快速把网易云静音,potplayer 出声音,这功能怎么做?给点思路。不一定要这两个软件,其他的也行。 PS:我是在自学 java 的,想到点自己觉得有意思的东西,所有就想实现出来。
1
lihongjie0209 2018-10-19 10:36:09 +08:00
有系统接口就能做, 没有话的没办法.
还有一种方法就是用 GUI 自动化, 但是鉴于你的老师可以看到你的屏幕, 这么实现不太合理 |
2
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 |
3
MozzieW 2018-10-19 11:03:04 +08:00
提供一个思路, 网易云支持快捷键. 看一下播放器能不能支持快捷键静音(换一个?). 有的话自定义快捷键, 响应时发出两个快捷键, 一个停止网易云播放, 一个取消播放器静音
|
4
jason19659 2018-10-19 11:07:30 +08:00
@gam2046 #1 可以
|
5
shakoon 2018-10-19 11:08:50 +08:00
赞同 3 楼方法,这是最简单的方案了:分别设置好两个软件的静音快捷键,你的程序只需要在你按下自己的快捷键时向外发出这两个快捷键就可以了
|
6
simonliu2018 2018-10-19 11:09:36 +08:00
功能上再改进一下,当耳机被拔出的时候自动切换,岂不更好。
|
7
alvin666 2018-10-19 11:20:05 +08:00 via Android
win10 支持不同设备分别设定音量,也就是说外放的时候静音,插上耳机调大音量,这样拔下耳机的时候扬声器不会出声,老师要是让你调大音量再按两个快捷键就行了..
顺便问问 lz 多大了... |
8
harde 2018-10-19 11:24:11 +08:00
Java 并不适合做这类软件。虽然没有规定说 Java 不能做这类软件。。。
|
9
ChenHuanxi OP 感谢各位大佬回复啊,我刚知道 V2EX 这个论坛不久,论坛氛围是真滴好,不会有乱七八糟的东西
|
10
hengo 2018-10-19 11:27:55 +08:00 via iPhone
建议 C#,很适合 Windows 开发
|
11
ChenHuanxi OP @alvin666 20 多了,我就想做来玩玩的,因为在学习 java,所有就想看看能不能做点功能,没打算真滴用来上课听歌。。。只想得到那种自己做出成绩时的成就感。
|
12
ChenHuanxi OP @gam2046 感觉有点高深,我去了解了解,谢谢
|
13
superzzy 2018-10-19 11:29:59 +08:00
用 C#吧
|
14
neighbads 2018-10-19 11:30:38 +08:00 via Android
不知道 声卡驱动会不会有拔插事件。。
|