// 设置回调函数
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<Source>(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) {
}
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) {