/* * Copyright (C) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "sound.h" #include #include "telephony_log_wrapper.h" namespace OHOS { namespace Telephony { Sound::Sound() : audioPlayer_(new (std::nothrow) AudioPlayer()) {} Sound::~Sound() { if (audioPlayer_ != nullptr) { delete audioPlayer_; audioPlayer_ = nullptr; } } int32_t Sound::Play() { if (audioPlayer_ == nullptr) { TELEPHONY_LOGE("audioPlayer_ is nullptr"); return TELEPHONY_ERR_LOCAL_PTR_NULL; } return audioPlayer_->Play(TYPE_SOUND); } int32_t Sound::Stop() { if (audioPlayer_ == nullptr) { TELEPHONY_LOGE("audioPlayer_ is nullptr"); return TELEPHONY_ERR_LOCAL_PTR_NULL; } audioPlayer_->SetStop(PlayerType::TYPE_SOUND, true); return TELEPHONY_SUCCESS; } void Sound::ReleaseRenderer() { if (audioPlayer_ == nullptr) { TELEPHONY_LOGE("audioPlayer_ is nullptr"); return; } audioPlayer_->ReleaseRenderer(); audioPlayer_->ReleaseCapturer(); } } // namespace Telephony } // namespace OHOS