Почему мой источник входного сигнала не меняется, когда я отправляю сообщение <Active Source> через CEC-Client?
Проблема / вопрос
Когда я использую CEC-Client для отправки команды активного источника для переключения входа ТВ на определенный источник, ничего не происходит. Что я делаю не так?
Окружающая среда
У меня есть Raspberry Pi 4, на котором работает Raspbian, подключенный к Vizio TV. Я установил cec-client (через cec-utils) и запускаю команды, используя его из Bash на Raspberry Pi.
Вот сканирование шины 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 относительно сообщений активного источника на 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
).
Где я нахожусь
Мы будем благодарны за любую помощь / обратную связь! Я в своем уме и не могу придумать ничего другого, что я еще не пробовал.
(Также приветствуются любые отзывы по моему вопросу; я все еще новичок в публикации в сети StackExchange)
1 ответ
Итак, получается установка типа (-t
или --type
) при запуске cec-клиента мне необходимо. Это похоже на-t t
а также -t p
лучшие рабочие варианты. Это все еще очень привередливо (или я бы провел больше тестов, чтобы опубликовать более детерминированный ответ).
Я собираюсь установить тип тюнера (t
), поскольку он позволяет мне переключать вход и не мешает мне изменять громкость на моем телевизоре с помощью пульта дистанционного управления, например аудио (a
) сделал, но это все еще тип устройства, который я не буду подключать к своему телевизору, поэтому мне не нужно беспокоиться о том, что он запутается или что-то в этом роде. Я могу со временем переключиться на воспроизведение (p
) в будущем, если это поможет. Явная установка рекордера (r
) на самом деле тоже работал однажды, но я думаю, что телевизор все еще думал, что это аудиоустройство (поскольку я все еще не мог изменить громкость. Мне потребовалось время и много возни, чтобы это исправить...)
(Если кто знает, зачем это нужно, хоть и с помощью встроенного as
работает без указания типа при запуске или более подробной информации о последствиях изменения типа, я приму их ответ.)