录音界面:添加清除录音播放器资源接口
authorluozheng <1732036298@qq.com>
Thu, 14 Mar 2024 11:21:09 +0000 (19:21 +0800)
committerluozheng <1732036298@qq.com>
Thu, 14 Mar 2024 11:21:09 +0000 (19:21 +0800)
code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingModel.h
code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingModel.cpp
code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPresenter.cpp

index fee695f..1b29cbe 100644 (file)
@@ -58,6 +58,7 @@ namespace OHOS
         void NextPlayout(void);
         int ResetSourceAndPrepare(void);
         int ResetPlayerModuleStatus(void);
+        void ClearRecordingPlayer(void);
         /* -------------------------------------------------------------------------- */
         void InitRecordingListItem();
         std::vector<RecordingListItem> &GetRecordinglistItems();
index 4dc9179..f3e4e34 100644 (file)
@@ -202,6 +202,21 @@ namespace OHOS
         return OHOS_SUCCESS;
     }
 
+    /*
+    * @brief 退出录音播放界面后清除播放器资源
+    */
+    void RecordingModel::ClearRecordingPlayer(void)
+    {
+        if (GetPlayerCtr() != nullptr)
+        {
+            GetPlayerCtr()->Reset();
+            GetPlayerCtr()->Release();
+            SetAudioInitStatus(false);
+            ClearActivateAudioInterrupt();
+            GetPlayerCtr().reset();
+        }
+    }
+
     /*
      * @brief 播放器状态的控制
      */
@@ -209,7 +224,7 @@ namespace OHOS
     {
         int ret;
         /* ------------------------------ 设置播放器的回调函数。 ----------------------------- */
-        if (GetRecordingPlayerState() != PlayerStates::PLAYER_PREPARED) //如果录音播放器状态为Prepared状态无需重置回到IDLE状态和setsource,Prepare
+        if (GetRecordingPlayerState() != PlayerStates::PLAYER_PREPARED) // 如果录音播放器状态为Prepared状态无需重置回到IDLE状态和setsource,Prepare
         {
             ResetPlayerModuleStatus();
             ResetSourceAndPrepare();
@@ -615,7 +630,7 @@ namespace OHOS
     static constexpr int16 NUM_TIME_MIN = 60;
     static constexpr int16 NUM_TIME_HOUR = 3600;
     static constexpr int32 NUM_TIME_DAY = 86400;
-    
+
     /*
      * @brief 显示录音时长
      */
index bbaad50..bb1d8e9 100644 (file)
@@ -55,15 +55,7 @@ namespace OHOS
     void RecordingPresenter::OnStop(void)\r
     {\r
         Presenter<RecordingView>::OnStop();\r
-        if (p_RecordingModel->GetPlayerCtr() != nullptr)\r
-        {\r
-            // p_RecordingModel->GetPlayerCtr()->Stop();\r
-            p_RecordingModel->GetPlayerCtr()->Reset();\r
-            p_RecordingModel->GetPlayerCtr()->Release();\r
-            p_RecordingModel->SetAudioInitStatus(false);\r
-            p_RecordingModel->ClearActivateAudioInterrupt();\r
-            p_RecordingModel->GetPlayerCtr().reset();\r
-        }\r
+        p_RecordingModel->ClearRecordingPlayer();\r
         ScreenAlwaysOnCtr(0);\r
     }\r
 \r