有没有办法使用Qt串口改变电视输入?

时间:2016-02-01 14:44:42

标签: c++ qt input

我想知道是否有办法可以使用Qt在电视的输入之间循环。例如,如果我在hdmi 1上播放xbox,程序可以将输入切换到hdmi 2,以确保我没有错过我想要观看的节目。

我知道我可以使用dvr并录制节目并等等等等等,但这只是一个例子。我已经有了打开和关闭串口的代码(是的,需要通过串口完成):

#include <QCoreApplication>
#include <QSerialPort>

int main(int argc, char *argv[])
{
    QSerialPort serial;

    serial.setPortName("PlayerPort");
    serial.setBaudRate(QSerialPort::Baud9600);
    serial.setDataBits(QSerialPort::Data8);
    serial.setParity(QSerialPort::NoParity);
    serial.setStopBits(QSerialPort::OneStop);
    serial.setFlowControl(QSerialPort::NoFlowControl);
    serial.open(QIODevice::ReadWrite);



    serial.close();

    //QCoreApplication a(argc, argv);

    //return a.exec();
}

所以我现在需要的是实际进行频道切换的代码。如果可能的话,我想自己编写代码,所以如果你能指出我正确的方向,就像电视(LG品牌)的功能库那样,那就太好了。

1 个答案:

答案 0 :(得分:1)

对于某些型号here,有一份操作员手册的副本,如果您没有自己的(命令是第88页)。

命令的一般格式为[CMD1] [CMD2] [DATA] [CRLF]

对于输入选择,CMD1为x,CMD2为b

To select input source for TV.
Transmission [x][b][ ][Set ID][ ][Data][Cr]
Data 00 : DTV (Antenna) 
Data 40 : Component 1
Data 01 : DTV (Cable) 
Data 41 : Component 2
Data 10 : Analog (Antenna) 
Data 60 : RGB PC
Data 11 : Analog (Cable) 
Data 90 : HDMI1/DVI
Data 20 : AV1
Data 91 : HDMI2
Data 21 : AV2
Acknowledgement [b][ ][Set ID][ ][OK/NG][Data][x]

您可以从中提取代码的C项目是here