使用cec-client将活动源设置为TV

时间:2013-07-06 19:50:00

标签: raspberry-pi television hdmi

我在我的覆盆子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

有没有人成功完成这个非常基本的操作?

5 个答案:

答案 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 ;; ..“,所以它可能适用于其他系统。