我希望能够在我的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?
感谢任何帮助。