0

我希望能够在我的 Raspberry Pi 上播放视频并通过手机控制它。在研究了这个之后,我决定使用 SSH 连接,然后使用 OMXPlayer 播放来自链接的视频。起初我使用session.openChannel("exec");通道发送命令,看起来像omxplayer '[link]' 但是,环顾四周后,我发现exec通道只能真正执行单个命令或命令链,如图所示这不合适,因为我需要能够随时暂停。所以我改为使用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();
    } 

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

任何帮助表示赞赏。

4

0 回答 0