@@ -115,6 +115,168 @@ export class YouTubePlayer implements AfterViewInit, OnDestroy {
115
115
this . _player . destroy ( ) ;
116
116
this . _destroyed . emit ( ) ;
117
117
}
118
+
119
+ /** Proxied methods. */
120
+
121
+ /** See https://developers.google.com/youtube/iframe_api_reference#playVideo */
122
+ playVideo ( ) {
123
+ if ( ! this . _player ) {
124
+ return ;
125
+ }
126
+ this . _player . playVideo ( ) ;
127
+ }
128
+
129
+ /** See https://developers.google.com/youtube/iframe_api_reference#pauseVideo */
130
+ pauseVideo ( ) {
131
+ if ( ! this . _player ) {
132
+ return ;
133
+ }
134
+ this . _player . pauseVideo ( ) ;
135
+ }
136
+
137
+ /** See https://developers.google.com/youtube/iframe_api_reference#stopVideo */
138
+ stopVideo ( ) {
139
+ if ( ! this . _player ) {
140
+ return ;
141
+ }
142
+ this . _player . stopVideo ( ) ;
143
+ }
144
+
145
+ /** See https://developers.google.com/youtube/iframe_api_reference#seekTo */
146
+ seekTo ( seconds : number , allowSeekAhead : boolean ) {
147
+ if ( ! this . _player ) {
148
+ return ;
149
+ }
150
+ this . _player . seekTo ( seconds , allowSeekAhead ) ;
151
+ }
152
+
153
+ /** See https://developers.google.com/youtube/iframe_api_reference#mute */
154
+ mute ( ) {
155
+ if ( ! this . _player ) {
156
+ return ;
157
+ }
158
+ this . _player . mute ( ) ;
159
+ }
160
+
161
+ /** See https://developers.google.com/youtube/iframe_api_reference#unMute */
162
+ unMute ( ) {
163
+ if ( ! this . _player ) {
164
+ return ;
165
+ }
166
+ this . _player . unMute ( ) ;
167
+ }
168
+
169
+ /** See https://developers.google.com/youtube/iframe_api_reference#isMuted */
170
+ isMuted ( ) : boolean {
171
+ if ( ! this . _player ) {
172
+ return false ;
173
+ }
174
+ return this . _player . isMuted ( ) ;
175
+ }
176
+
177
+ /** See https://developers.google.com/youtube/iframe_api_reference#setVolume */
178
+ setVolume ( volume : number ) {
179
+ if ( ! this . _player ) {
180
+ return ;
181
+ }
182
+ this . _player . setVolume ( volume ) ;
183
+ }
184
+
185
+ /** See https://developers.google.com/youtube/iframe_api_reference#getVolume */
186
+ getVolume ( ) : number {
187
+ if ( ! this . _player ) {
188
+ return 0 ;
189
+ }
190
+ return this . _player . getVolume ( ) ;
191
+ }
192
+
193
+ /** See https://developers.google.com/youtube/iframe_api_reference#setPlaybackRate */
194
+ setPlaybackRate ( playbackRate : number ) {
195
+ if ( ! this . _player ) {
196
+ return ;
197
+ }
198
+ return this . _player . setPlaybackRate ( playbackRate ) ;
199
+ }
200
+
201
+ /** See https://developers.google.com/youtube/iframe_api_reference#getPlaybackRate */
202
+ getPlaybackRate ( ) : number {
203
+ if ( ! this . _player ) {
204
+ return 0 ;
205
+ }
206
+ return this . _player . getPlaybackRate ( ) ;
207
+ }
208
+
209
+ /** See https://developers.google.com/youtube/iframe_api_reference#getAvailablePlaybackRates */
210
+ getAvailablePlaybackRates ( ) : number [ ] {
211
+ if ( ! this . _player ) {
212
+ return [ ] ;
213
+ }
214
+ return this . _player . getAvailablePlaybackRates ( ) ;
215
+ }
216
+
217
+ /** See https://developers.google.com/youtube/iframe_api_reference#getVideoLoadedFraction */
218
+ getVideoLoadedFraction ( ) : number {
219
+ if ( ! this . _player ) {
220
+ return 0 ;
221
+ }
222
+ return this . _player . getVideoLoadedFraction ( ) ;
223
+ }
224
+
225
+ /** See https://developers.google.com/youtube/iframe_api_reference#getPlayerState */
226
+ getPlayerState ( ) : YT . PlayerState {
227
+ if ( ! this . _player ) {
228
+ return YT . PlayerState . UNSTARTED ;
229
+ }
230
+ return this . _player . getPlayerState ( ) ;
231
+ }
232
+
233
+ /** See https://developers.google.com/youtube/iframe_api_reference#getCurrentTime */
234
+ getCurrentTime ( ) : number {
235
+ if ( ! this . _player ) {
236
+ return 0 ;
237
+ }
238
+ return this . _player . getCurrentTime ( ) ;
239
+ }
240
+
241
+ /** See https://developers.google.com/youtube/iframe_api_reference#getPlaybackQuality */
242
+ getPlaybackQuality ( ) : YT . SuggestedVideoQuality {
243
+ if ( ! this . _player ) {
244
+ return 'default' ;
245
+ }
246
+ return this . _player . getPlaybackQuality ( ) ;
247
+ }
248
+
249
+ /** See https://developers.google.com/youtube/iframe_api_reference#getAvailableQualityLevels */
250
+ getAvailableQualityLevels ( ) : YT . SuggestedVideoQuality [ ] {
251
+ if ( ! this . _player ) {
252
+ return [ ] ;
253
+ }
254
+ return this . _player . getAvailableQualityLevels ( ) ;
255
+ }
256
+
257
+ /** See https://developers.google.com/youtube/iframe_api_reference#getDuration */
258
+ getDuration ( ) : number {
259
+ if ( ! this . _player ) {
260
+ return 0 ;
261
+ }
262
+ return this . _player . getDuration ( ) ;
263
+ }
264
+
265
+ /** See https://developers.google.com/youtube/iframe_api_reference#getVideoUrl */
266
+ getVideoUrl ( ) : string {
267
+ if ( ! this . _player ) {
268
+ return '' ;
269
+ }
270
+ return this . _player . getVideoUrl ( ) ;
271
+ }
272
+
273
+ /** See https://developers.google.com/youtube/iframe_api_reference#getVideoEmbedCode */
274
+ getVideoEmbedCode ( ) : string {
275
+ if ( ! this . _player ) {
276
+ return '' ;
277
+ }
278
+ return this . _player . getVideoEmbedCode ( ) ;
279
+ }
118
280
}
119
281
120
282
/**
0 commit comments