录音界面优化
authorluozheng <1732036298@qq.com>
Thu, 14 Mar 2024 03:28:40 +0000 (11:28 +0800)
committerluozheng <1732036298@qq.com>
Thu, 14 Mar 2024 03:28:40 +0000 (11:28 +0800)
code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingPresenter.h
code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingVolumeSettingView.h
code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingModel.cpp
code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPlayerView.cpp
code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingVolumeSettingView.cpp
code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SystemVolumePresenter.cpp

index b7d718e..6b4a047 100644 (file)
@@ -111,6 +111,15 @@ namespace OHOS
         bool OnDrag(UIView &view, const DragEvent &event) override;\r
     };\r
 \r
+    class RecordingVolumeSettingViewDragLister : public UIView::OnDragListener\r
+    {\r
+    public:\r
+        RecordingVolumeSettingViewDragLister() {}\r
+        ~RecordingVolumeSettingViewDragLister(){}\r
+        bool OnDrag(UIView &view, const DragEvent &event) override;\r
+        bool OnDragEnd(UIView &view, const DragEvent &event) override;\r
+    };\r
+\r
     class RecordingModel;\r
     class RecordingView;\r
     class RecordingPresenter : public Presenter<RecordingView>,\r
index 92e6421..e35bd16 100644 (file)
@@ -16,6 +16,7 @@ namespace OHOS
     private:
         SoundAndVibrationVolumeSettingView *p_SoundAndVibrationVolumeSettingView{nullptr};
         UIScrollView *RecordingVolumeSettingViewScrollView{nullptr};
+        UIView::OnDragListener *volumeDragListener{nullptr};
         bool initViewStatus{false};
     };
 
index 73cf1f2..4dc9179 100644 (file)
 #include <service/graphic_service.h>
 namespace OHOS
 {
-    // 声明定时器变量
-    osTimerId_t g_timer = NULL;
-    static int g_RecordingTimes = {0};
-    static constexpr int32 NUM_TEN = 10;
-    static constexpr int16 ERROR = 0;
-    static constexpr int16 SUCCESS = 1;
-    static constexpr int16 NUM_TIME_MIN = 60;
-    static constexpr int16 NUM_TIME_HOUR = 3600;
-    static constexpr int32 NUM_TIME_DAY = 86400;
 
     static MutexId g_mutex;
     RecordingModel::RecordingModel()
@@ -615,7 +606,16 @@ namespace OHOS
     }
 
     /* ----------------------------------- 定时器 ---------------------------------- */
-
+    // 声明定时器变量
+    osTimerId_t g_timer = NULL;
+    static int g_RecordingTimes = {0};
+    static constexpr int32 NUM_TEN = 10;
+    static constexpr int16 ERROR = 0;
+    static constexpr int16 SUCCESS = 1;
+    static constexpr int16 NUM_TIME_MIN = 60;
+    static constexpr int16 NUM_TIME_HOUR = 3600;
+    static constexpr int32 NUM_TIME_DAY = 86400;
+    
     /*
      * @brief 显示录音时长
      */
index e70e20f..06d87ff 100644 (file)
@@ -389,7 +389,12 @@ namespace OHOS
         }\r
         if (GetPlayerButton() != nullptr)\r
         {\r
-            SetPlayerButtonState(UICheckBox::UICheckBoxState::UNSELECTED);\r
+            RecordingModel *p_RecordingModel = RecordingModel::GetInstance();\r
+            int32_t playerState = p_RecordingModel->GetRecordingPlayerState();\r
+            if (playerState != PlayerStates::PLAYER_STARTED)\r
+            {\r
+                SetPlayerButtonState(UICheckBox::UICheckBoxState::UNSELECTED);\r
+            }\r
         }\r
     }\r
 \r
index 5145532..92f0f2c 100644 (file)
@@ -57,10 +57,11 @@ namespace OHOS
         Presenter<RecordingView>::OnStop();\r
         if (p_RecordingModel->GetPlayerCtr() != nullptr)\r
         {\r
-            p_RecordingModel->GetPlayerCtr()->Stop();\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
         ScreenAlwaysOnCtr(0);\r
@@ -89,18 +90,17 @@ namespace OHOS
                     if (i == RECORDINGVIEW)\r
                     {\r
                         NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);\r
+                        return true;\r
                     }\r
                     else if (i == RECORDINGPLAYERVIEW)\r
                     {\r
                         p_RecordingView->ChangeView(i, RECORDINGLISTVIEW);\r
-                    }\r
-                    else if(i == RECORDINGVOLUMESETTINGVIEW)\r
-                    {\r
-                        p_RecordingView->ChangeView(i, RECORDINGPLAYERVIEW);\r
+                        return true;\r
                     }\r
                     else\r
                     {\r
                         p_RecordingView->ChangeView(i, RECORDINGVIEW);\r
+                        return true;\r
                     }\r
                     break;\r
                 }\r
@@ -306,6 +306,27 @@ namespace OHOS
         return true;\r
     }\r
 \r
+    bool RecordingVolumeSettingViewDragLister::OnDrag(UIView &view, const DragEvent &event)\r
+    {\r
+        return true;\r
+    }\r
+\r
+    bool RecordingVolumeSettingViewDragLister::OnDragEnd(UIView &view, const DragEvent &event)\r
+    {\r
+        UNUSED(view);\r
+        RecordingView *p_RecordingView = RecordingView::GetInstance();\r
+        if (p_RecordingView == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingView GetInstance fail");\r
+            return false;\r
+        }\r
+        if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)\r
+        {\r
+            p_RecordingView->ChangeView(RECORDINGVOLUMESETTINGVIEW, RECORDINGPLAYERVIEW);\r
+        }\r
+        return true;\r
+    }\r
+\r
     /*\r
      * @brief 播放按钮被点击\r
      */\r
index 32f5edf..5c08bd8 100644 (file)
@@ -15,7 +15,7 @@ namespace OHOS
     RecordingVolumeSettingView::~RecordingVolumeSettingView()
     {
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingVolumeSettingView::~RecordingVolumeSettingView");
-
+        ClearAll();
         g_pRecordingVolumeSettingView = nullptr;
     }
 
@@ -28,6 +28,9 @@ namespace OHOS
     {
         if (initViewStatus == true)
         {
+            delete volumeDragListener;
+            volumeDragListener = nullptr;
+
             delete p_SoundAndVibrationVolumeSettingView;
             p_SoundAndVibrationVolumeSettingView = nullptr;
         }
@@ -43,7 +46,7 @@ namespace OHOS
             return nullptr;
         }
         RecordingVolumeSettingViewScrollView = p_SoundAndVibrationVolumeSettingView->SetUpVolumeProcess();
-        UIView::OnDragListener *volumeDragListener = (UIView::OnDragListener *)OHOS::RecordingPresenter::GetInstance();
+        volumeDragListener = static_cast<UIView::OnDragListener *>(new RecordingVolumeSettingViewDragLister());
         if (volumeDragListener == nullptr)
         {
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingPresenter GetInstance fail");
index 63f6517..31d1ee3 100644 (file)
@@ -160,7 +160,7 @@ namespace OHOS
      */\r
     void VoumeProcessSliderEventListener::LocalVolumeSet(int16_t sounding)\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BtAndLocalVolumeSet %d", sounding);\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "LocalVolumeSet %d", sounding);\r
         Audio::AudioManager::GetInstance().SetVolume(AUDIO_STREAM_MUSIC, sounding); // 本地音量设置\r
     }\r
 \r