V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ChenHuanxi
V2EX  ›  程序员

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

  •  
  •   ChenHuanxi · 2018-10-19 10:27:44 +08:00 · 2331 次点击
    这是一个创建于 2226 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    14 条回复    2018-10-19 11:30:38 +08:00
    lihongjie0209
        1
    lihongjie0209  
       2018-10-19 10:36:09 +08:00
    有系统接口就能做, 没有话的没办法.


    还有一种方法就是用 GUI 自动化, 但是鉴于你的老师可以看到你的屏幕, 这么实现不太合理
    gam2046
        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
    MozzieW
        3
    MozzieW  
       2018-10-19 11:03:04 +08:00
    提供一个思路, 网易云支持快捷键. 看一下播放器能不能支持快捷键静音(换一个?). 有的话自定义快捷键, 响应时发出两个快捷键, 一个停止网易云播放, 一个取消播放器静音
    jason19659
        4
    jason19659  
       2018-10-19 11:07:30 +08:00
    @gam2046 #1 可以
    shakoon
        5
    shakoon  
       2018-10-19 11:08:50 +08:00
    赞同 3 楼方法,这是最简单的方案了:分别设置好两个软件的静音快捷键,你的程序只需要在你按下自己的快捷键时向外发出这两个快捷键就可以了
    simonliu2018
        6
    simonliu2018  
       2018-10-19 11:09:36 +08:00
    功能上再改进一下,当耳机被拔出的时候自动切换,岂不更好。
    alvin666
        7
    alvin666  
       2018-10-19 11:20:05 +08:00 via Android
    win10 支持不同设备分别设定音量,也就是说外放的时候静音,插上耳机调大音量,这样拔下耳机的时候扬声器不会出声,老师要是让你调大音量再按两个快捷键就行了..
    顺便问问 lz 多大了...
    harde
        8
    harde  
       2018-10-19 11:24:11 +08:00
    Java 并不适合做这类软件。虽然没有规定说 Java 不能做这类软件。。。
    ChenHuanxi
        9
    ChenHuanxi  
    OP
       2018-10-19 11:26:40 +08:00
    感谢各位大佬回复啊,我刚知道 V2EX 这个论坛不久,论坛氛围是真滴好,不会有乱七八糟的东西
    hengo
        10
    hengo  
       2018-10-19 11:27:55 +08:00 via iPhone
    建议 C#,很适合 Windows 开发
    ChenHuanxi
        11
    ChenHuanxi  
    OP
       2018-10-19 11:28:51 +08:00
    @alvin666 20 多了,我就想做来玩玩的,因为在学习 java,所有就想看看能不能做点功能,没打算真滴用来上课听歌。。。只想得到那种自己做出成绩时的成就感。
    ChenHuanxi
        12
    ChenHuanxi  
    OP
       2018-10-19 11:29:40 +08:00
    @gam2046 感觉有点高深,我去了解了解,谢谢
    superzzy
        13
    superzzy  
       2018-10-19 11:29:59 +08:00
    用 C#吧
    neighbads
        14
    neighbads  
       2018-10-19 11:30:38 +08:00 via Android
    不知道 声卡驱动会不会有拔插事件。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2228 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:59 · PVG 08:59 · LAX 16:59 · JFK 19:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.