// 设置回调函数
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;
+ }
// 申请资源
Resource = std::make_shared<Source>(Uri, Header);
if (Resource.get() == nullptr)
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Resource new fail");
return OHOS_FAILURE;
}
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Player uri %s.", Uri.c_str());
- PlayerCtr->SetSource(*Resource);
- PlayerCtr->Prepare();
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Player uri %s.", Uri.c_str());
+ ret = PlayerCtr->SetSource(*Resource);
+ 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(DurationTime);
ConvertMillisecondToTime(DurationTime);
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[%s,%d] GetDuration:%lld,%s, ret:%d", __func__, __LINE__, DurationTime, TotalRecordDuration.c_str(), ret);
}
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)