为什么当我通过 CEC-Client 发送 <Active Source> 消息时,我的输入源没有改变?
Why is my input source not changing when I send the <Active Source> message via CEC-Client?
Problem/Question
当我使用 CEC-Client 发送活动源命令以将电视输入切换到特定源时,没有任何反应。我做错了什么?
环境
我有一个 Raspberry Pi 4 运行 Raspbian 插入 Vizio 电视。我已经安装了 cec-client(通过 cec-utils),并且我在 Raspberry Pi.
上的 Bash 中使用它 运行 命令
这是我设置的 CEC 总线的扫描:
CEC bus information
===================
device #0: TV
address: 0.0.0.0
active source: no
vendor: Unknown
osd string: TV
CEC version: 1.3a
power status: on
language: eng
device #1: Recorder 1
address: 4.0.0.0
active source: yes
vendor: Pulse Eight
osd string: CECTester
CEC version: 1.4
power status: on
language: eng
device #4: Playback 1
address: 1.0.0.0
active source: no
vendor: Unknown
osd string: Roku
CEC version: 1.4
power status: on
language: ???
currently active source: Recorder 1 (1)
我尝试过的:
很多东西。
更具体地说:
tx 1f:82:10:00
tx 1f 82 10 00
- (一堆地址错误的东西)
- 例如
tx 4f:82:10:00
和 tx 10:82:10:00
sp 1.0.0.0
spl 4
- 阅读HDMI specification regarding active source messages on CEC
其他信息
我知道电视支持它,因为当我开始使用遥控器时,我尝试切换到的设备(Roku)使用 CEC 将输入切换到自身。当 CEC-Client 执行此操作时,它会发送 4f:82:10:00
以声明自己为活动源,这正是我尝试过的,除了将自己作为发起者(我也尝试过以防万一)。
为了确保 tx
命令正常工作,我用它成功地让电视进入待机状态。
使用 as
将 Pi 设置为活动源工作正常,但相应的 tx 命令 tx 1f:82:40:00
没有任何作用(即使 CEC-Client 的输出使用完全相同的消息显示它)。
我只列出了上面的 CEC-Client 命令,但我已经在 CEC-Client 的交互式提示中直接尝试了所有这些命令,并将其回显到 cec-client(即 echo "tx 1F:82:10:00" | cec-client RPI -s -d 1
).
我在哪里
任何 help/feedback 将不胜感激!我束手无策,想不出还有什么我还没有尝试过的。
(也欢迎对我的问题提出任何反馈;我对在 StackExchange 网络上发帖还是很陌生)
因此,事实证明在启动 cec-client 时设置类型(-t
或 --type
)对我来说是必要的。 -t t
和 -t p
似乎是最好的选择。它仍然非常挑剔(或者我会做更多测试 post 一个更确定的答案)。
我打算将类型设置为调谐器 (t
),因为它允许我切换输入,并且不会阻止我像音频一样使用遥控器更改电视音量 (a
) 做了,但它仍然是一种我不会插入电视的设备类型,所以我不必担心会混淆它或其他任何东西。如果这似乎对任何事情都有帮助,我可能最终会在未来切换到播放 (p
)。显式设置录音机(r
)实际上也工作过一次,但我认为电视仍然认为它是一个音频设备(因为我仍然无法改变音量。我花了一段时间和很多时间来修复那...)。
(如果有人知道为什么这是必要的,即使使用内置的 as
命令也可以在启动时不指定类型或更改类型的影响的更多详细信息,我会接受他们的答案。)
Problem/Question
当我使用 CEC-Client 发送活动源命令以将电视输入切换到特定源时,没有任何反应。我做错了什么?
环境
我有一个 Raspberry Pi 4 运行 Raspbian 插入 Vizio 电视。我已经安装了 cec-client(通过 cec-utils),并且我在 Raspberry Pi.
上的 Bash 中使用它 运行 命令这是我设置的 CEC 总线的扫描:
CEC bus information
===================
device #0: TV
address: 0.0.0.0
active source: no
vendor: Unknown
osd string: TV
CEC version: 1.3a
power status: on
language: eng
device #1: Recorder 1
address: 4.0.0.0
active source: yes
vendor: Pulse Eight
osd string: CECTester
CEC version: 1.4
power status: on
language: eng
device #4: Playback 1
address: 1.0.0.0
active source: no
vendor: Unknown
osd string: Roku
CEC version: 1.4
power status: on
language: ???
currently active source: Recorder 1 (1)
我尝试过的:
很多东西。
更具体地说:
tx 1f:82:10:00
tx 1f 82 10 00
- (一堆地址错误的东西)
- 例如
tx 4f:82:10:00
和tx 10:82:10:00
- 例如
sp 1.0.0.0
spl 4
- 阅读HDMI specification regarding active source messages on CEC
其他信息
我知道电视支持它,因为当我开始使用遥控器时,我尝试切换到的设备(Roku)使用 CEC 将输入切换到自身。当 CEC-Client 执行此操作时,它会发送
4f:82:10:00
以声明自己为活动源,这正是我尝试过的,除了将自己作为发起者(我也尝试过以防万一)。为了确保
tx
命令正常工作,我用它成功地让电视进入待机状态。使用
as
将 Pi 设置为活动源工作正常,但相应的 tx 命令tx 1f:82:40:00
没有任何作用(即使 CEC-Client 的输出使用完全相同的消息显示它)。我只列出了上面的 CEC-Client 命令,但我已经在 CEC-Client 的交互式提示中直接尝试了所有这些命令,并将其回显到 cec-client(即
echo "tx 1F:82:10:00" | cec-client RPI -s -d 1
).
我在哪里
任何 help/feedback 将不胜感激!我束手无策,想不出还有什么我还没有尝试过的。
(也欢迎对我的问题提出任何反馈;我对在 StackExchange 网络上发帖还是很陌生)
因此,事实证明在启动 cec-client 时设置类型(-t
或 --type
)对我来说是必要的。 -t t
和 -t p
似乎是最好的选择。它仍然非常挑剔(或者我会做更多测试 post 一个更确定的答案)。
我打算将类型设置为调谐器 (t
),因为它允许我切换输入,并且不会阻止我像音频一样使用遥控器更改电视音量 (a
) 做了,但它仍然是一种我不会插入电视的设备类型,所以我不必担心会混淆它或其他任何东西。如果这似乎对任何事情都有帮助,我可能最终会在未来切换到播放 (p
)。显式设置录音机(r
)实际上也工作过一次,但我认为电视仍然认为它是一个音频设备(因为我仍然无法改变音量。我花了一段时间和很多时间来修复那...)。
(如果有人知道为什么这是必要的,即使使用内置的 as
命令也可以在启动时不指定类型或更改类型的影响的更多详细信息,我会接受他们的答案。)