From 6c815b9b65dfdf7cc0affbecbcf1237a56697c9a Mon Sep 17 00:00:00 2001 From: luozheng <1732036298@qq.com> Date: Wed, 18 Sep 2024 20:39:01 +0800 Subject: [PATCH] =?utf8?q?1.=E6=B7=BB=E5=8A=A0APP=E5=9C=A8=E8=B0=83?= =?utf8?q?=E8=8A=82=E7=B3=BB=E7=BB=9F=E9=9F=B3=E9=87=8F=E6=97=B6=E5=80=99?= =?utf8?q?=E8=8B=A5=E5=BD=93=E5=89=8D=E7=95=8C=E9=9D=A2=E5=9C=A8=E9=9F=B3?= =?utf8?q?=E4=B9=90=E7=9A=84=E7=9A=84=E5=A3=B0=E9=9F=B3=E8=B0=83=E8=8A=82?= =?utf8?q?=E8=A7=86=E5=9B=BE=E5=88=99ui=E5=90=8C=E6=AD=A5=E6=98=BE?= =?utf8?q?=E7=A4=BA=E8=AE=BE=E7=BD=AE=E7=9A=84=E9=9F=B3=E9=87=8F=E5=80=BC?= =?utf8?q?=E3=80=82=202.=E8=A7=A3=E5=86=B3=E9=9F=B3=E4=B9=90=E4=BB=8E?= =?utf8?q?=E6=9C=AC=E5=9C=B0=E9=9F=B3=E4=B9=90=E5=88=87=E6=8D=A2=E5=88=B0?= =?utf8?q?=E6=89=8B=E6=9C=BA=E9=9F=B3=E4=B9=90=E5=9C=A8=E5=88=87=E6=8D=A2?= =?utf8?q?=E5=88=B0=E6=9C=AC=E5=9C=B0=E9=9F=B3=E4=B9=90=E5=88=87=E6=8D=A2?= =?utf8?q?=E4=B8=8D=E5=9B=9E=E6=9D=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../phoneservice/src/PhoneService.cpp | 46 +++++++++---------- .../nativeui/player/include/PlayersView.h | 4 +- .../player/src/MusicPlayerSourceView.cpp | 1 + .../nativeui/player/src/PlayersModel.cpp | 6 +-- .../nativeui/player/src/PlayersView.cpp | 34 ++++++++++---- .../src/SoundAndVibrationModel.cpp | 15 +++--- 6 files changed, 62 insertions(+), 44 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/phoneservice/src/PhoneService.cpp b/code/sdk/application/wearable/fd230app/nativeui/phoneservice/src/PhoneService.cpp index 834f284fa..87fbc47d1 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/phoneservice/src/PhoneService.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/phoneservice/src/PhoneService.cpp @@ -1884,34 +1884,34 @@ unsigned char GetCallCurrVolume(void) { if(OHOS::CallerLogModel::GetInstance()->GetCallSource() == OHOS::CallerLogModel::CallSourceCat1) { - int32_t volume = PhoneCAT1AudioGetVolume(); - int32_t minVolume = PhoneAudioGetCAT1MinVolume(); - int32_t maxVolume = PhoneAudioGetCAT1MAXVolume(); - // unsigned char hfpVolume = (unsigned char)((volume * CALL_VOLUME_MAX) / (maxVolume - minVolume)); // 转换 - unsigned char hfpVolume = volume; + // int32_t volume = PhoneCAT1AudioGetVolume(); + // int32_t minVolume = PhoneAudioGetCAT1MinVolume(); + // int32_t maxVolume = PhoneAudioGetCAT1MAXVolume(); + // // unsigned char hfpVolume = (unsigned char)((volume * CALL_VOLUME_MAX) / (maxVolume - minVolume)); // 转换 - if (volume != 0 && hfpVolume == 0) { - hfpVolume = 1; - } - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[GetCallCurrVolume] volume:%d, minVolume:%d, maxVolume:%d, hfpVolume:%d", - volume, minVolume, maxVolume, hfpVolume); - return hfpVolume; + // if (volume != 0 && hfpVolume == 0) { + // hfpVolume = 1; + // } + // WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[GetCallCurrVolume] volume:%d, minVolume:%d, maxVolume:%d, hfpVolume:%d", + // volume, minVolume, maxVolume, hfpVolume); + // return hfpVolume; + return PhoneCAT1AudioGetVolume(); } else { - int32_t volume = PhoneAudioGetVolume(); - int32_t minVolume = PhoneAudioGetMinVolume(); - int32_t maxVolume = PhoneAudioGetMaxVolume(); - // unsigned char hfpVolume = (unsigned char)((volume * CALL_VOLUME_MAX) / (maxVolume - minVolume)); // 转换 - unsigned char hfpVolume = volume; - - if (volume != 0 && hfpVolume == 0) { - hfpVolume = 1; - } - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[GetCallCurrVolume] volume:%d, minVolume:%d, maxVolume:%d, hfpVolume:%d", - volume, minVolume, maxVolume, hfpVolume); - return hfpVolume; + // int32_t volume = PhoneAudioGetVolume(); + // int32_t minVolume = PhoneAudioGetMinVolume(); + // int32_t maxVolume = PhoneAudioGetMaxVolume(); + // // unsigned char hfpVolume = (unsigned char)((volume * CALL_VOLUME_MAX) / (maxVolume - minVolume)); // 转换 + + // // if (volume != 0 && hfpVolume == 0) { + // // hfpVolume = 1; + // // } + // WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[GetCallCurrVolume] volume:%d, minVolume:%d, maxVolume:%d, hfpVolume:%d", + // volume, minVolume, maxVolume, hfpVolume); + // return hfpVolume; + return PhoneAudioGetVolume(); } diff --git a/code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersView.h b/code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersView.h index 5e1304da1..16ea701ba 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersView.h @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-08-05 15:20:03 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-08-20 17:39:13 + * @LastEditTime: 2024-09-18 19:13:53 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersView.h */ @@ -102,6 +102,8 @@ namespace OHOS void UpdatePlayerView(void); void UpdateMusicListStatus(void); void OnClickBackKeyToMainMusicPlayerView(void); + void StopCurPlayingMusic(); + void UpdateVolumeValue(void); VolumeSettingView *GetVolumeSettingView(); PlayerListDelSongView *GetPlayerListDelSongView(); diff --git a/code/sdk/application/wearable/fd230app/nativeui/player/src/MusicPlayerSourceView.cpp b/code/sdk/application/wearable/fd230app/nativeui/player/src/MusicPlayerSourceView.cpp index 97472c9c1..90fb34697 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/player/src/MusicPlayerSourceView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/player/src/MusicPlayerSourceView.cpp @@ -65,6 +65,7 @@ namespace OHOS { PlayersModel::GetInstance()->SetMusicSource(true); UpdateBluetoothHeadSetViewIsVisible(); + playersView->StopCurPlayingMusic(); // 1.a2dp未连接,向手机发起a2dp连接 // 如果蓝牙没连接直接是跳转到蓝牙连接失败视图,连接了就有一个主动去连手机的a2dp过程,5秒超市 // if (!phonebluetoothcon) diff --git a/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersModel.cpp index 9a99086f0..0cb06b536 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersModel.cpp @@ -843,11 +843,7 @@ bool PlayersModel::GetCurrentMusicIsPlaying(void) else { if(g_PlayerTimes < 2) /*3秒切换时间*/ { - bool a2dp = uapi_a2dp_snk_get_device_connect_state();// 获取a2dp连接状态 - if(!a2dp) - { - playersView->ChangeView(PlayersView::MUISC_CONNECTING, PlayersView::MUSIC_SOURCE_VIEW); - } + playersView->ChangeView(PlayersView::MUISC_CONNECTING, PlayersView::MUSIC_SOURCE_VIEW); } } return; diff --git a/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersView.cpp b/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersView.cpp index 96a33f9ed..d6cea874d 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersView.cpp @@ -14,6 +14,7 @@ #include "main/include/MainViewSample.h" #include "wearable_log.h" #include "settings/include/SettingModel.h" +#include namespace OHOS { static PlayersView *g_pPlayersView = nullptr; @@ -838,6 +839,27 @@ namespace OHOS } } + // 停止当前正在播放的音乐 + void PlayersView::StopCurPlayingMusic() + { + uint8_t state = GetPlayerButtonState(); + if (state == UICheckBox::UICheckBoxState::SELECTED) + { + PlayersModel::GetInstance()->PlayerStop(); + PlayersModel::GetInstance()->ClearActivateAudioInterrupt(); + } + } + + //更新音乐播放器的声音进度条 + void PlayersView::UpdateVolumeValue(void) + { + if (volumeSettingView != nullptr && volumeSettingView->GetProgress() != nullptr) + { + int val = uapi_systemVolumeGet(); + volumeSettingView->GetProgress()->SetValue(val); + } + } + /// @brief 设置音乐播放按钮是否可点击 /// @param musicSourceType 音乐来源类型 false:手表音乐 true 手机音乐 /// @param phoneMusicConnectStatus 手机音乐连接状态 @@ -852,19 +874,13 @@ namespace OHOS play_or_pause_Button->SetTouchable(touchableState); preMusicButton->SetTouchable(touchableState); nextMusicButton->SetTouchable(touchableState); - soundButton->SetTouchable(touchableState); + // soundButton->SetTouchable(touchableState); playerModelButton->SetTouchable(touchableState); // 如果音乐来源为手机音乐,播放顺序按钮就不可用 /* -------------------------------------------------------------------------- */ if (musicSourceType) // 如果切換到手机音乐,且当前在放歌,就停止音乐 { - /*暂停音乐*/ - uint8_t state = GetPlayerButtonState(); - int32_t playerState; /*获取Player的状态*/ - if (state == UICheckBox::UICheckBoxState::SELECTED) - { - PlayersModel::GetInstance()->PlayerStop(); - PlayersModel::GetInstance()->ClearActivateAudioInterrupt(); - } + /*停止音乐*/ + StopCurPlayingMusic(); } /* -------------------------------------------------------------------------- */ PreLoadPlayerModeImageRes(); diff --git a/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationModel.cpp index 8d00b8ed5..d7e65e490 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationModel.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-02-23 09:17:00 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-06-19 17:47:54 + * @LastEditTime: 2024-09-18 19:34:06 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationModel.cpp */ #include "soundandvibration/include/SoundAndVibrationModel.h" @@ -12,6 +12,7 @@ #include "soundandvibration/include/CallVolumeView.h" #include "wearable_log.h" #include "ConfigModel.h" +#include "player/include/PlayersView.h" namespace OHOS { @@ -29,14 +30,16 @@ namespace OHOS bool SoundAndVibrationModel::UpdateSystemVolume(void) { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SoundAndVibrationModel::UpdateSystemVolume"); - SystemVolumeView *p_SystemVolumeView = SystemVolumeView::GetInstance(); - if (p_SystemVolumeView == nullptr) + if (SystemVolumeView::GetInstance()) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemVolumeView::GetInstance fail!!"); - return false; + SystemVolumeView::GetInstance()->UpdateSystemVolumeSliderValue(); } - p_SystemVolumeView->UpdateSystemVolumeSliderValue(); + //同步显示音乐的声音进度条 + if(PlayersView::GetInstance()) + { + PlayersView::GetInstance()->UpdateVolumeValue(); + } return true; } -- 2.17.1