我在我的覆盆子pi上运行了cec-client,我可以在索尼电视上切换活动源HDMI 1 - 4:
echo "tx 4F 82 10 00" | cec-client -s
echo "tx 4F 82 40 00" | cec-client -s
我无法实现的是切换回电视作为活动源。由于电视的ID通常为0.0.0.0,我希望以下命令可以解决这个问题,但电视没有响应:
echo "tx 4F 82 00 00" | cec-client -s
4 =记录器1(raspi)
F =广播
82 =有效来源
<00> 00 00 = ID有没有人成功完成这个非常基本的操作?
答案 0 :(得分:3)
在我的三星上:
echo "txn 40 9D 00 00" | cec-client -s
工作正常。所以,不要做广播!
答案 1 :(得分:2)
试试这个:echo "as" | cec-client -s
答案 2 :(得分:2)
我喜欢tarapitha的答案,因为它有一个解释。
如果没有其他设备报告处于活动状态(响应[请求活动源]消息,则电视切换回活动源,因此这就是[Inactive Source]消息有效的原因。
唯一的问题是[非活动源]消息必须直接发送到电视,因此正确的帧将是40 9d 10 00,如果活动源的物理地址是1.0.0.0
eman的答案可能有效,因为电视是宽容错误的物理地址,它只是执行活动源请求并找不到活动源,因此将其自身设置为活动状态。
我建议this页面了解CEC框架。
答案 3 :(得分:2)
尝试使用:
作为分隔符(对于那些不是2013年的人;此后可能已经改变了)。否则,它仅发送第一个字节(根据调试消息)。
我有一个Sony接收器(str-dg710),as
命令对我也不起作用。甚至tx 15:82:11:00
也无效。它必须是广播地址(f)-tx 1f:82:11:00
终于起作用了。尽管我的锉刀的物理cec地址为1.0.0.0,但是在运行cec-client
时手动切换接收器输入显示,第一个HDMI输入的地址为11:00
而不是10:00
,因此,有效的tx命令。
答案 4 :(得分:1)
怎么样:
echo'tx 4f 9d 10 00'| cec-client -s -d 1
4 - 来源
f - 广播
9d - &lt;非活动源&gt;命令
10 00 - 当前活动源的物理地址(ID)= 1.0.0.0
将ID替换为当前活动源的ID。
不在我的飞利浦电视上工作,但CEC标准说“电视可能会显示自己的内部调谐器,并且会发送一个带有电视地址的&lt; Active Source&gt ;; ..“,所以它可能适用于其他系统。