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_wrapper.h"
17
18 #include "base/bridge/ark_web_bridge_macros.h"
19
20 namespace OHOS::ArkWeb {
21
ArkWebNativeMediaPlayerHandlerWrapper(ArkWebRefPtr<ArkWebNativeMediaPlayerHandler> ark_web_native_media_player_handler)22 ArkWebNativeMediaPlayerHandlerWrapper::ArkWebNativeMediaPlayerHandlerWrapper(
23 ArkWebRefPtr<ArkWebNativeMediaPlayerHandler> ark_web_native_media_player_handler)
24 : ark_web_native_media_player_handler_(ark_web_native_media_player_handler)
25 {}
26
HandleStatusChanged(ArkWebPlaybackStatus status)27 void ArkWebNativeMediaPlayerHandlerWrapper::HandleStatusChanged(ArkWebPlaybackStatus status)
28 {
29 ark_web_native_media_player_handler_->HandleStatusChanged(static_cast<int>(status));
30 }
31
HandleVolumeChanged(double volume)32 void ArkWebNativeMediaPlayerHandlerWrapper::HandleVolumeChanged(double volume)
33 {
34 ark_web_native_media_player_handler_->HandleVolumeChanged(volume);
35 }
36
HandleMutedChanged(bool isMuted)37 void ArkWebNativeMediaPlayerHandlerWrapper::HandleMutedChanged(bool isMuted)
38 {
39 ark_web_native_media_player_handler_->HandleMutedChanged(isMuted);
40 }
41
HandlePlaybackRateChanged(double playbackRate)42 void ArkWebNativeMediaPlayerHandlerWrapper::HandlePlaybackRateChanged(double playbackRate)
43 {
44 ark_web_native_media_player_handler_->HandlePlaybackRateChanged(playbackRate);
45 }
46
HandleDurationChanged(double duration)47 void ArkWebNativeMediaPlayerHandlerWrapper::HandleDurationChanged(double duration)
48 {
49 ark_web_native_media_player_handler_->HandleDurationChanged(duration);
50 }
51
HandleTimeUpdate(double playTime)52 void ArkWebNativeMediaPlayerHandlerWrapper::HandleTimeUpdate(double playTime)
53 {
54 ark_web_native_media_player_handler_->HandleTimeUpdate(playTime);
55 }
56
HandleBufferedEndTimeChanged(double bufferedEndTime)57 void ArkWebNativeMediaPlayerHandlerWrapper::HandleBufferedEndTimeChanged(double bufferedEndTime)
58 {
59 ark_web_native_media_player_handler_->HandleBufferedEndTimeChanged(bufferedEndTime);
60 }
61
HandleEnded()62 void ArkWebNativeMediaPlayerHandlerWrapper::HandleEnded()
63 {
64 ark_web_native_media_player_handler_->HandleEnded();
65 }
66
HandleNetworkStateChanged(ArkWebNetworkState state)67 void ArkWebNativeMediaPlayerHandlerWrapper::HandleNetworkStateChanged(ArkWebNetworkState state)
68 {
69 ark_web_native_media_player_handler_->HandleNetworkStateChanged(static_cast<int>(state));
70 }
71
HandleReadyStateChanged(ArkWebReadyState state)72 void ArkWebNativeMediaPlayerHandlerWrapper::HandleReadyStateChanged(ArkWebReadyState state)
73 {
74 ark_web_native_media_player_handler_->HandleReadyStateChanged(static_cast<int>(state));
75 }
76
HandleFullScreenChanged(bool isFullScreen)77 void ArkWebNativeMediaPlayerHandlerWrapper::HandleFullScreenChanged(bool isFullScreen)
78 {
79 ark_web_native_media_player_handler_->HandleFullScreenChanged(isFullScreen);
80 }
81
HandleSeeking()82 void ArkWebNativeMediaPlayerHandlerWrapper::HandleSeeking()
83 {
84 ark_web_native_media_player_handler_->HandleSeeking();
85 }
86
HandleSeekFinished()87 void ArkWebNativeMediaPlayerHandlerWrapper::HandleSeekFinished()
88 {
89 ark_web_native_media_player_handler_->HandleSeekFinished();
90 }
91
HandleError(ArkWebMediaError error,const std::string & message)92 void ArkWebNativeMediaPlayerHandlerWrapper::HandleError(ArkWebMediaError error, const std::string& message)
93 {
94 ArkWebString stMessage = ArkWebStringClassToStruct(message);
95
96 ark_web_native_media_player_handler_->HandleError(static_cast<int>(error), stMessage);
97
98 ArkWebStringStructRelease(stMessage);
99 }
100
HandleVideoSizeChanged(double width,double height)101 void ArkWebNativeMediaPlayerHandlerWrapper::HandleVideoSizeChanged(double width, double height)
102 {
103 ark_web_native_media_player_handler_->HandleVideoSizeChanged(width, height);
104 }
105
106 } // namespace OHOS::ArkWeb
107