如何使用JSch通过SSH将热键发送到OMXPlayer?

时间:2017-04-06 13:17:00

标签: java ssh jsch omxplayer

我希望能够在我的Raspberry Pi上播放视频并通过手机控制它。在调查之后,我决定使用SSH连接,然后使用OMXPlayer从链接播放视频。起初我使用session.openChannel("exec");通道发送看起来像omxplayer '[link]'的命令。然而,在环顾四周之后,我发现exec通道只能真正执行单个命令或链如here所示的命令,这是不合适的,因为我需要能够随时暂停。所以我使用了shell频道。作为测试,我只使用了默认的输入和输出流。

注意:我使用JSch作为SSH

try {

        JSch jsch = new JSch();
        Session sesh = jsch.getSession("pi", "***.***.***.***", 22);
        java.util.Properties config = new java.util.Properties(); 
        config.put("StrictHostKeyChecking", "no");
        sesh.setConfig(config);
        sesh.setPassword("*");
        sesh.connect(3000);
        Channel chan = sesh.openChannel("shell");

        chan.setInputStream(System.in);
        chan.setOutputStream(System.out);
        chan.connect(3000);
    } catch(Exception e) {

        e.printStackTrace();
    } 

此代码打开了一个半功能的shell,我可以使用它来执行命令,然后视频播放热键(空格=播放/暂停,q =退出,左箭头=向后搜索,向右箭头=搜索我没有尝试只按正常的外壳按键,然后按下键,输入就像测试一样,但都没有工作。所以问题是有谁知道如何让热键在shell通道中运行?或者有没有人知道如何让热键使用exec通道以我需要的方式使用JSCH?

感谢任何帮助。

0 个答案:

没有答案