From b0ec90a46d1d565582d90b2144d5381eff8bea30 Mon Sep 17 00:00:00 2001 From: luozheng <1732036298@qq.com> Date: Fri, 17 Jan 2025 12:01:37 +0800 Subject: [PATCH] =?utf8?q?=E9=9F=B3=E4=B9=90=E6=92=AD=E6=94=BEPlayerStat?= =?utf8?q?=E5=87=BD=E6=95=B0=E4=BC=98=E5=8C=96=E6=B7=BB=E5=8A=A0=E6=9D=A1?= =?utf8?q?=E4=BB=B6=E5=88=A4=E6=96=AD=EF=BC=8C=E6=8F=90=E9=AB=98=E4=BB=A3?= =?utf8?q?=E7=A0=81=E5=81=A5=E5=A3=AE=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../nativeui/player/src/PlayersModel.cpp | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) 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 4ad93e4d9..b48d4ded1 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersModel.cpp @@ -89,15 +89,30 @@ int PlayersModel::PlayerStat() // 设置回调函数 playerCtr->SetPlayerCallback(playerCallback); + // 添加条件判断,确保uri必须为MP3格式 + if (uri.find(".mp3") == std::string::npos) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Invalid file format. Only MP3 files are supported."); + return OHOS_FAILURE; + } // 申请资源 source = std::make_shared(uri, header); if (source.get() == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "source new fail"); return OHOS_FAILURE; } - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Player uri %s.", uri.c_str()); - playerCtr->SetSource(*source); - playerCtr->Prepare(); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Player uri %s", uri.c_str()); + ret = playerCtr->SetSource(*source); + if(ret != 0) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SetSource fail"); + playerCtr->Reset(); + return OHOS_FAILURE; + } + ret = playerCtr->Prepare(); + if (ret != 0) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Prepare fail"); + playerCtr->Reset(); + return OHOS_FAILURE; + } ret = playerCtr->GetDuration(duration_); WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[%s,%d] GetDuration:%lld, ret:%d", __func__, __LINE__, duration_, ret); if (!isActivateAudioInterrupt) { @@ -123,7 +138,12 @@ int PlayersModel::PlayerStat() } isActivateAudioInterrupt = true; } - playerCtr->SetAudioSessionId(sessionId); + ret = playerCtr->SetAudioSessionId(sessionId); + if (ret!= 0) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SetAudioSessionId faild"); + playerCtr->Reset(); + return OHOS_FAILURE; + } // 播放 ret = playerCtr->Play(); if (ret != 0) { -- 2.17.1