zhuizhu 8 hónapja
szülő
commit
206a9a685e
4 módosított fájl, 9 hozzáadás és 55 törlés
  1. 1 2
      AvPlayer2/mainwindowa.cpp
  2. 3 43
      AvPlayer2/playercontroller.cpp
  3. 1 6
      AvPlayer2/playercontroller.h
  4. 4 4
      main.cpp

+ 1 - 2
AvPlayer2/mainwindowa.cpp

@@ -304,8 +304,7 @@ MainWindowA::MainWindowA(QWidget* parent)
 
     hide_play_control(false);
 
-    m_playerController->startToPlay(
-        "rtmp://106.55.186.74:1935/stream/V1/01982b9b-f82c-7632-8283-8e60695b10d0");
+    m_playerController->startToPlay("C:/Users/zhuizhu/Videos/2.mp4");
 }
 
 MainWindowA::~MainWindowA()

+ 3 - 43
AvPlayer2/playercontroller.cpp

@@ -33,9 +33,6 @@ PlayerController::PlayerController(QWidget* parent)
 
 PlayerController::~PlayerController()
 {
-    if (m_initThread.joinable()) {
-        m_initThread.join();
-    }
     stopPlay();
 }
 
@@ -110,43 +107,13 @@ void PlayerController::startToPlay(const QString& file)
         m_state = PlayerState::Initializing;
         m_currentFile = file;
 
-        // 启动异步初始化线程
-        if (m_initThread.joinable()) {
-            m_initThread.join();
-        }
-        m_initThread = std::thread(&PlayerController::asyncInit, this, file);
+        // 直接进行初始化,无需异步
+        bool success = !file.isEmpty();
+        onAsyncInitFinished(file, success);
     }
 }
 
-void PlayerController::asyncInit(const QString& file)
-{
-    bool success = false;
-    QElapsedTimer timer;
-    timer.start();
-    qCDebug(playerControllerLog) << "[Init] asyncInit started";
 
-    // 检查文件有效性
-    if (file.isEmpty()) {
-        qCWarning(playerControllerLog) << "Filename is invalid. Please select a valid media file.";
-        success = false;
-    } else {
-        // 检查文件是否存在和可访问
-        // QFileInfo fileInfo(file);
-        // if (!fileInfo.exists() || !fileInfo.isReadable()) {
-        //     qCWarning(playerControllerLog)
-        //         << "File does not exist or is not readable:" << toNativePath(file);
-        //     success = false;
-        // } else {
-        //     qCInfo(playerControllerLog) << "File check passed:" << toNativePath(file);
-        //     success = true;
-        // }
-        success = true;
-    }
-
-    m_initSuccess = success;
-    onAsyncInitFinished(file, success);
-    qCDebug(playerControllerLog) << "[Init] asyncInit finished in " << timer.elapsed() << " ms";
-}
 
 void PlayerController::onAsyncInitFinished(const QString& file, bool success)
 {
@@ -1045,13 +1012,6 @@ void PlayerController::dump() const
         qCInfo(playerControllerLog) << "StartPlayThread: null";
     }
 
-    // 检查初始化线程
-    if (m_initThread.joinable()) {
-        qCInfo(playerControllerLog) << "InitThread: joinable (running)";
-    } else {
-        qCInfo(playerControllerLog) << "InitThread: not joinable (stopped or not started)";
-    }
-
     // 检查事件线程
     if (m_eventThread.joinable()) {
         qCInfo(playerControllerLog) << "EventThread: joinable (running)";

+ 1 - 6
AvPlayer2/playercontroller.h

@@ -12,7 +12,6 @@
 #include <condition_variable>
 #include <functional>
 #include <memory>
-#include <thread>
 #include <unordered_map>
 
 #include <QLoggingCategory>
@@ -288,12 +287,8 @@ private:
     bool cursorInWindow(QWidget* widget);
 
     //--------------------------------------------------------------------------
-    // 异步初始化相关
+    // 初始化相关(已移除异步逻辑)
     //--------------------------------------------------------------------------
-    void asyncInit(const QString& file);
-    std::thread m_initThread;
-    std::atomic<bool> m_initInProgress{false};
-    std::atomic<bool> m_initSuccess{false};
     std::mutex m_stopMutex;
 
     //--------------------------------------------------------------------------

+ 4 - 4
main.cpp

@@ -104,12 +104,12 @@ docker run -itd  --name zlmediakit --restart=always
 -v /data/zlmediakit/media/conf:/opt/media/conf
 zlmediakit/zlmediakit:master
 */
-    MainWindow w;
-    w.show();
+    // MainWindow w;
+    // w.show();
 
     // 视频播放测试
-    // MainWindowA aa;
-    // aa.show();
+    MainWindowA aa;
+    aa.show();
 
     // ThemeSettingsWidget ThemeSettingsWidget;
     // ThemeSettingsWidget.show();