新增大窗口播放视频按键,窗口大小根据解码视频分辨率自动调整,关掉大窗口回到原来位置播放视频
This commit is contained in:
@@ -20,8 +20,7 @@ DataHandler::DataHandler(QLabel* videoLabel, QLineEdit* VideoResolutionEdit, QSi
|
||||
backBoardFuncConfig(backBoardFuncConfig), backBoardDevInfoJson(backBoardDevInfoJson),
|
||||
backBoardUuidJson(backBoardUuidJson), getPicJson(getPicJson), getVideoJson(getVideoJson),
|
||||
buffer(new QByteArray()), picBuffer(new QByteArray()),
|
||||
ffmpegDecoder(new FFmpegDecoder()) // 初始化FFmpeg解码器
|
||||
|
||||
ffmpegDecoder(new FFmpegDecoder()) // 初始化FFmpeg解码器
|
||||
{
|
||||
ffmpegDecoder->initialize(); // 初始化解码器
|
||||
clearAllRecvData();
|
||||
@@ -46,7 +45,6 @@ DataHandler::~DataHandler()
|
||||
void DataHandler::handleOpenFocusWindow(int itemIndex)
|
||||
{
|
||||
if (ffmpegDecoder) {
|
||||
qDebug() << "------- handleOpenFocusWindow";
|
||||
ffmpegDecoder->processVideo(itemIndex); // 调用 FFmpegDecoder 的处理函数
|
||||
}
|
||||
}
|
||||
@@ -77,7 +75,6 @@ void DataHandler::showVideo(const QString& client, const QByteArray& valData)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!valData.isEmpty()) {
|
||||
file.write(valData);
|
||||
file.flush(); // 刷新文件缓冲区
|
||||
@@ -111,9 +108,9 @@ void DataHandler::clearAllRecvData() {
|
||||
}
|
||||
|
||||
// 处理接收到的数据
|
||||
void DataHandler::handleData(const QString& client, const QByteArray& recvData, int msg_id,
|
||||
int currentRecvItemIndex, int currentRecvFuncItemIndex,
|
||||
const QString& itemData, const QString& funcItemData, const QJsonArray& jsonArray, int itemJsonIndex)
|
||||
void DataHandler::handleData(const QString& client, const QByteArray& recvData, int msg_id,
|
||||
int currentRecvItemIndex, int currentRecvFuncItemIndex, const QString& itemData,
|
||||
const QString& funcItemData, const QJsonArray& jsonArray, int itemJsonIndex)
|
||||
{
|
||||
//qDebug() << "Data received from" << client << ":" << recvData;
|
||||
#if 0
|
||||
@@ -158,10 +155,8 @@ void DataHandler::handleData(const QString& client, const QByteArray& recvData,
|
||||
//QByteArray data = buffer->mid(10, dataSize);
|
||||
QString hexString = QString::fromUtf8(data.toHex().data());
|
||||
QByteArray actual_data = hexStringToByteArray(hexString);
|
||||
//qDebug() << "---Received hexString:" << hexString;
|
||||
buffer->remove(0, totalSize); // 移除已处理的数据
|
||||
if(msg_id != 0x0040 && msg_id != START_VIDEO && msg_id != GET_IMG) {
|
||||
//if (msg_id != 0x0040) {
|
||||
qDebug() << "--- msg_id:" << msg_id;
|
||||
qDebug() << "--- clientLastMsgId.value(client, 0):" << clientLastMsgId.value(client, 0);
|
||||
// 同一个client仅当 msg_id 不连续为 0x11/0x21 或第一次处理时才执行 emit statusUpdated
|
||||
@@ -186,7 +181,6 @@ void DataHandler::handleData(const QString& client, const QByteArray& recvData,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void DataHandler::initializeMsgIdToCmdMap() {
|
||||
msgIdToCmdMap[GET_FRONT_V851_VERSION] = "GET_FRONT_V851_VERSION";
|
||||
msgIdToCmdMap[GET_FRONT_MCU_VERSION] = "GET_FRONT_MCU_VERSION";
|
||||
|
||||
@@ -40,12 +40,11 @@ public:
|
||||
QJsonArray backBoardDevInfoJson, QJsonArray backBoardUuidJson,
|
||||
QJsonArray getPicJson, QJsonArray getVideoJson, QObject* parent = nullptr);
|
||||
~DataHandler();
|
||||
|
||||
void handleOpenFocusWindow(int itemIndex);
|
||||
public slots:
|
||||
void handleData(const QString& client, const QByteArray& data, int msg_id, int currentRecvItemIndex,
|
||||
int currentRecvFuncItemIndex, const QString& itemData, const QString& funcItemData,
|
||||
const QJsonArray& jsonArray, int itemJsonIndex);
|
||||
void handleOpenFocusWindow(int itemIndex);
|
||||
signals:
|
||||
void statusUpdated(const QString& clientAddress, int currentItemIndex, int currentFuncItemIndex,
|
||||
bool success, const QString& currentItemLabel, const QString& currentFuncItemLabel,
|
||||
|
||||
Reference in New Issue
Block a user