1 /*
2 * Copyright (c) 2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "ohos_nweb/bridge/ark_web_native_media_player_handler_impl.h"
17
18 #include "base/bridge/ark_web_bridge_macros.h"
19
20 namespace OHOS::ArkWeb {
21
22 using ArkWebMediaError = OHOS::NWeb::MediaError;
23 using ArkWebReadyState = OHOS::NWeb::ReadyState;
24 using ArkWebNetworkState = OHOS::NWeb::NetworkState;
25 using ArkWebPlaybackStatus = OHOS::NWeb::PlaybackStatus;
26
ArkWebNativeMediaPlayerHandlerImpl(std::shared_ptr<OHOS::NWeb::NWebNativeMediaPlayerHandler> nweb_native_media_player_handler)27 ArkWebNativeMediaPlayerHandlerImpl::ArkWebNativeMediaPlayerHandlerImpl(
28 std::shared_ptr<OHOS::NWeb::NWebNativeMediaPlayerHandler> nweb_native_media_player_handler)
29 : nweb_native_media_player_handler_(nweb_native_media_player_handler)
30 {}
31
HandleStatusChanged(int status)32 void ArkWebNativeMediaPlayerHandlerImpl::HandleStatusChanged(int status)
33 {
34 nweb_native_media_player_handler_->HandleStatusChanged(static_cast<ArkWebPlaybackStatus>(status));
35 }
36
HandleVolumeChanged(double volume)37 void ArkWebNativeMediaPlayerHandlerImpl::HandleVolumeChanged(double volume)
38 {
39 nweb_native_media_player_handler_->HandleVolumeChanged(volume);
40 }
41
HandleMutedChanged(bool isMuted)42 void ArkWebNativeMediaPlayerHandlerImpl::HandleMutedChanged(bool isMuted)
43 {
44 nweb_native_media_player_handler_->HandleMutedChanged(isMuted);
45 }
46
HandlePlaybackRateChanged(double playbackRate)47 void ArkWebNativeMediaPlayerHandlerImpl::HandlePlaybackRateChanged(double playbackRate)
48 {
49 nweb_native_media_player_handler_->HandlePlaybackRateChanged(playbackRate);
50 }
51
HandleDurationChanged(double duration)52 void ArkWebNativeMediaPlayerHandlerImpl::HandleDurationChanged(double duration)
53 {
54 nweb_native_media_player_handler_->HandleDurationChanged(duration);
55 }
56
HandleTimeUpdate(double playTime)57 void ArkWebNativeMediaPlayerHandlerImpl::HandleTimeUpdate(double playTime)
58 {
59 nweb_native_media_player_handler_->HandleTimeUpdate(playTime);
60 }
61
HandleBufferedEndTimeChanged(double bufferedEndTime)62 void ArkWebNativeMediaPlayerHandlerImpl::HandleBufferedEndTimeChanged(double bufferedEndTime)
63 {
64 nweb_native_media_player_handler_->HandleBufferedEndTimeChanged(bufferedEndTime);
65 }
66
HandleEnded()67 void ArkWebNativeMediaPlayerHandlerImpl::HandleEnded()
68 {
69 nweb_native_media_player_handler_->HandleEnded();
70 }
71
HandleNetworkStateChanged(int state)72 void ArkWebNativeMediaPlayerHandlerImpl::HandleNetworkStateChanged(int state)
73 {
74 nweb_native_media_player_handler_->HandleNetworkStateChanged(static_cast<ArkWebNetworkState>(state));
75 }
76
HandleReadyStateChanged(int state)77 void ArkWebNativeMediaPlayerHandlerImpl::HandleReadyStateChanged(int state)
78 {
79 nweb_native_media_player_handler_->HandleReadyStateChanged(static_cast<ArkWebReadyState>(state));
80 }
81
HandleFullScreenChanged(bool isFullScreen)82 void ArkWebNativeMediaPlayerHandlerImpl::HandleFullScreenChanged(bool isFullScreen)
83 {
84 nweb_native_media_player_handler_->HandleFullScreenChanged(isFullScreen);
85 }
86
HandleSeeking()87 void ArkWebNativeMediaPlayerHandlerImpl::HandleSeeking()
88 {
89 nweb_native_media_player_handler_->HandleSeeking();
90 }
91
HandleSeekFinished()92 void ArkWebNativeMediaPlayerHandlerImpl::HandleSeekFinished()
93 {
94 nweb_native_media_player_handler_->HandleSeekFinished();
95 }
96
HandleError(int error,const ArkWebString & message)97 void ArkWebNativeMediaPlayerHandlerImpl::HandleError(int error, const ArkWebString& message)
98 {
99 nweb_native_media_player_handler_->HandleError(
100 static_cast<ArkWebMediaError>(error), ArkWebStringStructToClass(message));
101 }
102
HandleVideoSizeChanged(double width,double height)103 void ArkWebNativeMediaPlayerHandlerImpl::HandleVideoSizeChanged(double width, double height)
104 {
105 nweb_native_media_player_handler_->HandleVideoSizeChanged(width, height);
106 }
107
108 } // namespace OHOS::ArkWeb
109