uniapp vue TV端,如何接收遥控器输入

安卓端中 如何接收遥控器输入,网上看到很多人使用 plus.key.addEventListener( keyevent, listener, capture );  但说只能接收几个按键,我测试的时候直接接收不到。后面看到另外一篇文章受到启发,可以使用h5中的onkeydown事件监听。写了个示例,经测试达到了我想要的效果,遥控器上的大部分按钮可以监听到,有几个也监听不到,比如返回、音量键。其余大部分是可以的,记录一下留个笔记。

主要使用到了

renderjs,官方文档请看这里 https://uniapp.dcloud.io/frame?id=renderjs 

测试代码如下:

 1 <template>
 2     <view>
 3         <label style="margin: 20px; display: block;">-{{text}}-</label>
 4         <view @click="whole.onClick" id="onClick"></view>
 5     </view>
 6 </template>
 7 
 8     
 9 <script>
10     export default {
11         data() {
12             return {
13                 text: 'text'
14             }
15         },
16         methods:{
17             keyCodeClick(keyCode) {
18                 this.text = keyCode;
19             }
20         }
21     }
22 </script>
23 
24 <script module="whole" lang="renderjs">
25     let keyCode;
26     export default {
27         mounted() {
28             //全局监听按键输入
29             window.document.onkeydown = function(evt) {
30                 evt = evt || window.event;
31                 keyCode = evt.which || evt.keyCode;
32                 document.getElementById("onClick").click();
33             }
34         },
35         methods: {
36             onClick(event, ownerInstance, c) {
37                 // 调用 service 层的方法
38                 ownerInstance.callMethod('keyCodeClick', keyCode);
39             }
40             
41         }
42     }
43 </script>

 

posted @ 2022-03-07 14:20  ~木木~  阅读(1918)  评论(4编辑  收藏  举报