• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2021-2023 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/**
17 * @file
18 * @kit ArkUI
19 */
20
21/*** if arkts 1.2 */
22import { Resource } from '../../global/resource';
23import { ImageAIOptions, ImageAnalyzerConfig } from './imageCommon';
24import { ImageFit } from './enums';
25import { CommonMethod, Callback, PixelMap } from './common';
26import { VoidCallback, ColorMetrics } from './units';
27/*** endif */
28
29/**
30 * Seek mode.
31 *
32 * @enum { number }
33 * @syscap SystemCapability.ArkUI.ArkUI.Full
34 * @since 8
35 */
36/**
37 * Seek mode.
38 *
39 * @enum { number }
40 * @syscap SystemCapability.ArkUI.ArkUI.Full
41 * @crossplatform
42 * @since 10
43 */
44/**
45 * Seek mode.
46 *
47 * @enum { number }
48 * @syscap SystemCapability.ArkUI.ArkUI.Full
49 * @crossplatform
50 * @atomicservice
51 * @since arkts {'1.1':'11','1.2':'20'}
52 * @arkts 1.1&1.2
53 */
54declare enum SeekMode {
55  /**
56   * Sync to keyframes before the time point.
57   *
58   * @syscap SystemCapability.ArkUI.ArkUI.Full
59   * @since 8
60   */
61  /**
62   * Sync to keyframes before the time point.
63   *
64   * @syscap SystemCapability.ArkUI.ArkUI.Full
65   * @crossplatform
66   * @since 10
67   */
68  /**
69   * Sync to keyframes before the time point.
70   *
71   * @syscap SystemCapability.ArkUI.ArkUI.Full
72   * @crossplatform
73   * @atomicservice
74   * @since arkts {'1.1':'11','1.2':'20'}
75   * @arkts 1.1&1.2
76   */
77  PreviousKeyframe,
78
79  /**
80   * Sync to keyframes after the time point.
81   *
82   * @syscap SystemCapability.ArkUI.ArkUI.Full
83   * @since 8
84   */
85  /**
86   * Sync to keyframes after the time point.
87   *
88   * @syscap SystemCapability.ArkUI.ArkUI.Full
89   * @crossplatform
90   * @since 10
91   */
92  /**
93   * Sync to keyframes after the time point.
94   *
95   * @syscap SystemCapability.ArkUI.ArkUI.Full
96   * @crossplatform
97   * @atomicservice
98   * @since arkts {'1.1':'11','1.2':'20'}
99   * @arkts 1.1&1.2
100   */
101  NextKeyframe,
102
103  /**
104   * Sync to closest keyframes.
105   *
106   * @syscap SystemCapability.ArkUI.ArkUI.Full
107   * @since 8
108   */
109  /**
110   * Sync to closest keyframes.
111   *
112   * @syscap SystemCapability.ArkUI.ArkUI.Full
113   * @crossplatform
114   * @since 10
115   */
116  /**
117   * Sync to closest keyframes.
118   *
119   * @syscap SystemCapability.ArkUI.ArkUI.Full
120   * @crossplatform
121   * @atomicservice
122   * @since arkts {'1.1':'11','1.2':'20'}
123   * @arkts 1.1&1.2
124   */
125  ClosestKeyframe,
126
127  /**
128   * Seek to frames closest the time point.
129   *
130   * @syscap SystemCapability.ArkUI.ArkUI.Full
131   * @since 8
132   */
133  /**
134   * Seek to frames closest the time point.
135   *
136   * @syscap SystemCapability.ArkUI.ArkUI.Full
137   * @crossplatform
138   * @since 10
139   */
140  /**
141   * Seek to frames closest the time point.
142   *
143   * @syscap SystemCapability.ArkUI.ArkUI.Full
144   * @crossplatform
145   * @atomicservice
146   * @since arkts {'1.1':'11','1.2':'20'}
147   * @arkts 1.1&1.2
148   */
149  Accurate,
150}
151
152/**
153 * playback speed.
154 *
155 * @enum { number }
156 * @syscap SystemCapability.ArkUI.ArkUI.Full
157 * @since 8
158 */
159/**
160 * playback speed.
161 *
162 * @enum { number }
163 * @syscap SystemCapability.ArkUI.ArkUI.Full
164 * @crossplatform
165 * @since 10
166 */
167/**
168 * playback speed.
169 *
170 * @enum { number }
171 * @syscap SystemCapability.ArkUI.ArkUI.Full
172 * @crossplatform
173 * @atomicservice
174 * @since arkts {'1.1':'11','1.2':'20'}
175 * @arkts 1.1&1.2
176 */
177declare enum PlaybackSpeed {
178  /**
179   * 0.75x speed playback.
180   *
181   * @syscap SystemCapability.ArkUI.ArkUI.Full
182   * @since 8
183   */
184  /**
185   * 0.75x speed playback.
186   *
187   * @syscap SystemCapability.ArkUI.ArkUI.Full
188   * @crossplatform
189   * @since 10
190   */
191  /**
192   * 0.75x speed playback.
193   *
194   * @syscap SystemCapability.ArkUI.ArkUI.Full
195   * @crossplatform
196   * @atomicservice
197   * @since arkts {'1.1':'11','1.2':'20'}
198   * @arkts 1.1&1.2
199   */
200  Speed_Forward_0_75_X,
201
202  /**
203   * 1.00x speed playback.
204   *
205   * @syscap SystemCapability.ArkUI.ArkUI.Full
206   * @since 8
207   */
208  /**
209   * 1.00x speed playback.
210   *
211   * @syscap SystemCapability.ArkUI.ArkUI.Full
212   * @crossplatform
213   * @since 10
214   */
215  /**
216   * 1.00x speed playback.
217   *
218   * @syscap SystemCapability.ArkUI.ArkUI.Full
219   * @crossplatform
220   * @atomicservice
221   * @since arkts {'1.1':'11','1.2':'20'}
222   * @arkts 1.1&1.2
223   */
224  Speed_Forward_1_00_X,
225
226  /**
227   * 1.25x speed playback.
228   *
229   * @syscap SystemCapability.ArkUI.ArkUI.Full
230   * @since 8
231   */
232  /**
233   * 1.25x speed playback.
234   *
235   * @syscap SystemCapability.ArkUI.ArkUI.Full
236   * @crossplatform
237   * @since 10
238   */
239  /**
240   * 1.25x speed playback.
241   *
242   * @syscap SystemCapability.ArkUI.ArkUI.Full
243   * @crossplatform
244   * @atomicservice
245   * @since arkts {'1.1':'11','1.2':'20'}
246   * @arkts 1.1&1.2
247   */
248  Speed_Forward_1_25_X,
249
250  /**
251   * 1.75x speed playback.
252   *
253   * @syscap SystemCapability.ArkUI.ArkUI.Full
254   * @since 8
255   */
256  /**
257   * 1.75x speed playback.
258   *
259   * @syscap SystemCapability.ArkUI.ArkUI.Full
260   * @crossplatform
261   * @since 10
262   */
263  /**
264   * 1.75x speed playback.
265   *
266   * @syscap SystemCapability.ArkUI.ArkUI.Full
267   * @crossplatform
268   * @atomicservice
269   * @since arkts {'1.1':'11','1.2':'20'}
270   * @arkts 1.1&1.2
271   */
272  Speed_Forward_1_75_X,
273
274  /**
275   * 2.00x speed playback.
276   *
277   * @syscap SystemCapability.ArkUI.ArkUI.Full
278   * @since 8
279   */
280  /**
281   * 2.00x speed playback.
282   *
283   * @syscap SystemCapability.ArkUI.ArkUI.Full
284   * @crossplatform
285   * @since 10
286   */
287  /**
288   * 2.00x speed playback.
289   *
290   * @syscap SystemCapability.ArkUI.ArkUI.Full
291   * @crossplatform
292   * @atomicservice
293   * @since arkts {'1.1':'11','1.2':'20'}
294   * @arkts 1.1&1.2
295   */
296  Speed_Forward_2_00_X,
297}
298
299/**
300 * Fullscreen information of the video.
301 *
302 * @typedef FullscreenInfo
303 * @syscap SystemCapability.ArkUI.ArkUI.Full
304 * @crossplatform
305 * @atomicservice
306 * @since arkts {'1.1':'18','1.2':'20'}
307 * @arkts 1.1&1.2
308 */
309interface FullscreenInfo {
310  /**
311   * The flag whether play in full screen.
312   *
313   * @syscap SystemCapability.ArkUI.ArkUI.Full
314   * @crossplatform
315   * @since 10
316   */
317  /**
318   * The flag whether play in full screen.
319   *
320   * @type { boolean }
321   * @syscap SystemCapability.ArkUI.ArkUI.Full
322   * @crossplatform
323   * @atomicservice
324   * @since 11
325   */
326  /**
327   * The flag whether play in full screen.
328   * Anonymous Object Rectification.
329   *
330   * @type { boolean }
331   * @syscap SystemCapability.ArkUI.ArkUI.Full
332   * @crossplatform
333   * @atomicservice
334   * @since arkts {'1.1':'18','1.2':'20'}
335   * @arkts 1.1&1.2
336   */
337  fullscreen: boolean;
338}
339
340/**
341 * Prepared information of the video.
342 *
343 * @typedef PreparedInfo
344 * @syscap SystemCapability.ArkUI.ArkUI.Full
345 * @crossplatform
346 * @atomicservice
347 * @since arkts {'1.1':'18','1.2':'20'}
348 * @arkts 1.1&1.2
349 */
350interface PreparedInfo {
351  /**
352   * The duration of the current video, in seconds.
353   *
354   * @syscap SystemCapability.ArkUI.ArkUI.Full
355   * @crossplatform
356   * @since 10
357   */
358  /**
359   * The duration of the current video, in seconds.
360   *
361   * @type { number }
362   * @syscap SystemCapability.ArkUI.ArkUI.Full
363   * @crossplatform
364   * @atomicservice
365   * @since 11
366   */
367  /**
368   * The duration of the current video, in seconds.
369   * Anonymous Object Rectification.
370   *
371   * @type { number }
372   * @syscap SystemCapability.ArkUI.ArkUI.Full
373   * @crossplatform
374   * @atomicservice
375   * @since arkts {'1.1':'18','1.2':'20'}
376   * @arkts 1.1&1.2
377   */
378  duration: number;
379}
380
381/**
382 * Playback information of the video.
383 *
384 * @typedef PlaybackInfo
385 * @syscap SystemCapability.ArkUI.ArkUI.Full
386 * @crossplatform
387 * @atomicservice
388 * @since arkts {'1.1':'18','1.2':'20'}
389 * @arkts 1.1&1.2
390 */
391interface PlaybackInfo {
392  /**
393   * The current video playback progress, expressed in seconds.
394   *
395   * @syscap SystemCapability.ArkUI.ArkUI.Full
396   * @crossplatform
397   * @since 10
398   */
399  /**
400   * The current video playback progress, expressed in seconds.
401   *
402   * @type { number }
403   * @syscap SystemCapability.ArkUI.ArkUI.Full
404   * @crossplatform
405   * @atomicservice
406   * @since 11
407   */
408  /**
409   * The current video playback progress, expressed in seconds.
410   * Anonymous Object Rectification.
411   *
412   * @type { number }
413   * @syscap SystemCapability.ArkUI.ArkUI.Full
414   * @crossplatform
415   * @atomicservice
416   * @since arkts {'1.1':'18','1.2':'20'}
417   * @arkts 1.1&1.2
418   */
419  time: number;
420}
421
422/**
423 * Defines the video poster options.
424 *
425 * @interface PosterOptions
426 * @syscap SystemCapability.ArkUI.ArkUI.Full
427 * @atomicservice
428 * @since arkts {'1.1':'18','1.2':'20'}
429 * @arkts 1.1&1.2
430 */
431declare interface PosterOptions {
432  /**
433   * Whether to display the first frame of video on prepared status of AVPlayer.
434   *
435   * @type { ?boolean }
436   * @default false
437   * @syscap SystemCapability.ArkUI.ArkUI.Full
438   * @atomicservice
439   * @since arkts {'1.1':'18','1.2':'20'}
440   * @arkts 1.1&1.2
441   */
442  showFirstFrame?: boolean;
443}
444
445/**
446 * Defines the video options.
447 *
448 * @interface VideoOptions
449 * @syscap SystemCapability.ArkUI.ArkUI.Full
450 * @since 7
451 */
452/**
453 * Defines the video options.
454 *
455 * @interface VideoOptions
456 * @syscap SystemCapability.ArkUI.ArkUI.Full
457 * @crossplatform
458 * @since 10
459 */
460/**
461 * Defines the video options.
462 *
463 * @interface VideoOptions
464 * @syscap SystemCapability.ArkUI.ArkUI.Full
465 * @crossplatform
466 * @atomicservice
467 * @since 11
468 */
469/**
470 * Defines the video options.
471 *
472 * @interface VideoOptions
473 * @syscap SystemCapability.ArkUI.ArkUI.Full
474 * @crossplatform
475 * @atomicservice
476 * @since arkts {'1.1':'12','1.2':'20'}
477 * @arkts 1.1&1.2
478 */
479declare interface VideoOptions {
480  /**
481   * src of video.
482   *
483   * @type { ?(string | Resource) }
484   * @syscap SystemCapability.ArkUI.ArkUI.Full
485   * @since 7
486   */
487  /**
488   * src of video.
489   *
490   * @type { ?(string | Resource) }
491   * @syscap SystemCapability.ArkUI.ArkUI.Full
492   * @crossplatform
493   * @since 10
494   */
495  /**
496   * src of video.
497   *
498   * @type { ?(string | Resource) }
499   * @syscap SystemCapability.ArkUI.ArkUI.Full
500   * @crossplatform
501   * @atomicservice
502   * @since arkts {'1.1':'11','1.2':'20'}
503   * @arkts 1.1&1.2
504   */
505  src?: string | Resource;
506
507  /**
508   * playback rate of video.
509   *
510   * @type { ?(number | string | PlaybackSpeed) }
511   * @syscap SystemCapability.ArkUI.ArkUI.Full
512   * @since 7
513   */
514  /**
515   * playback rate of video.
516   *
517   * @type { ?(number | string | PlaybackSpeed) }
518   * @syscap SystemCapability.ArkUI.ArkUI.Full
519   * @crossplatform
520   * @since 10
521   */
522  /**
523   * playback rate of video.
524   *
525   * @type { ?(number | string | PlaybackSpeed) }
526   * @syscap SystemCapability.ArkUI.ArkUI.Full
527   * @crossplatform
528   * @atomicservice
529   * @since arkts {'1.1':'11','1.2':'20'}
530   * @arkts 1.1&1.2
531   */
532  currentProgressRate?: number | string | PlaybackSpeed;
533
534  /**
535   * preview uri of video.
536   *
537   * @type { ?(string | PixelMap | Resource) }
538   * @syscap SystemCapability.ArkUI.ArkUI.Full
539   * @since 7
540   */
541  /**
542   * preview uri of video.
543   *
544   * @type { ?(string | PixelMap | Resource) }
545   * @syscap SystemCapability.ArkUI.ArkUI.Full
546   * @crossplatform
547   * @since 10
548   */
549  /**
550   * preview uri of video.
551   *
552   * @type { ?(string | PixelMap | Resource) }
553   * @syscap SystemCapability.ArkUI.ArkUI.Full
554   * @crossplatform
555   * @atomicservice
556   * @since arkts {'1.1':'11','1.2':'20'}
557   * @arkts 1.1&1.2
558   */
559  previewUri?: string | PixelMap | Resource;
560
561  /**
562   * controller of video.
563   *
564   * @type { ?VideoController }
565   * @syscap SystemCapability.ArkUI.ArkUI.Full
566   * @since 7
567   */
568  /**
569   * controller of video.
570   *
571   * @type { ?VideoController }
572   * @syscap SystemCapability.ArkUI.ArkUI.Full
573   * @crossplatform
574   * @since 10
575   */
576  /**
577   * controller of video.
578   *
579   * @type { ?VideoController }
580   * @syscap SystemCapability.ArkUI.ArkUI.Full
581   * @crossplatform
582   * @atomicservice
583   * @since arkts {'1.1':'11','1.2':'20'}
584   * @arkts 1.1&1.2
585   */
586  controller?: VideoController;
587
588  /**
589   * image ai options of video.
590   *
591   * @type { ?ImageAIOptions }
592   * @syscap SystemCapability.ArkUI.ArkUI.Full
593   * @atomicservice
594   * @since arkts {'1.1':'12','1.2':'20'}
595   * @arkts 1.1&1.2
596   */
597  imageAIOptions?: ImageAIOptions;
598
599  /**
600   * poster options of video.
601   *
602   * @type { ?PosterOptions }
603   * @syscap SystemCapability.ArkUI.ArkUI.Full
604   * @atomicservice
605   * @since arkts {'1.1':'18','1.2':'20'}
606   * @arkts 1.1&1.2
607   */
608  posterOptions?: PosterOptions;
609}
610
611/**
612 * Defines the video controller.
613 *
614 * @syscap SystemCapability.ArkUI.ArkUI.Full
615 * @since 7
616 */
617/**
618 * Defines the video controller.
619 *
620 * @syscap SystemCapability.ArkUI.ArkUI.Full
621 * @crossplatform
622 * @since 10
623 */
624/**
625 * Defines the video controller.
626 *
627 * @syscap SystemCapability.ArkUI.ArkUI.Full
628 * @crossplatform
629 * @atomicservice
630 * @since arkts {'1.1':'11', '1.2':'20'}
631 * @arkts 1.1&1.2
632 */
633declare class VideoController {
634  /**
635   * constructor.
636   *
637   * @syscap SystemCapability.ArkUI.ArkUI.Full
638   * @since 7
639   */
640  /**
641   * constructor.
642   *
643   * @syscap SystemCapability.ArkUI.ArkUI.Full
644   * @crossplatform
645   * @since 10
646   */
647  /**
648   * constructor.
649   *
650   * @syscap SystemCapability.ArkUI.ArkUI.Full
651   * @crossplatform
652   * @atomicservice
653   * @since arkts {'1.1':'11', '1.2':'20'}
654   * @arkts 1.1&1.2
655   */
656  constructor();
657
658  /**
659   * Provides events to play.
660   *
661   * @syscap SystemCapability.ArkUI.ArkUI.Full
662   * @since 7
663   */
664  /**
665   * Provides events to play.
666   *
667   * @syscap SystemCapability.ArkUI.ArkUI.Full
668   * @crossplatform
669   * @since 10
670   */
671  /**
672   * Provides events to play.
673   *
674   * @syscap SystemCapability.ArkUI.ArkUI.Full
675   * @crossplatform
676   * @atomicservice
677   * @since 11
678   */
679  start();
680
681  /**
682   * Provides events to play.
683   *
684   * @syscap SystemCapability.ArkUI.ArkUI.Full
685   * @crossplatform
686   * @atomicservice
687   * @since 20
688   * @arkts 1.2
689   */
690  start(): void;
691
692  /**
693   * Provides a pause event for playback.
694   *
695   * @syscap SystemCapability.ArkUI.ArkUI.Full
696   * @since 7
697   */
698  /**
699   * Provides a pause event for playback.
700   *
701   * @syscap SystemCapability.ArkUI.ArkUI.Full
702   * @crossplatform
703   * @since 10
704   */
705  /**
706   * Provides a pause event for playback.
707   *
708   * @syscap SystemCapability.ArkUI.ArkUI.Full
709   * @crossplatform
710   * @atomicservice
711   * @since 11
712   */
713  pause();
714
715  /**
716   * Provides a pause event for playback.
717   *
718   * @syscap SystemCapability.ArkUI.ArkUI.Full
719   * @crossplatform
720   * @atomicservice
721   * @since 20
722   * @arkts 1.2
723   */
724  pause(): void;
725
726  /**
727   * Provides an event to stop playback.
728   *
729   * @syscap SystemCapability.ArkUI.ArkUI.Full
730   * @since 7
731   */
732  /**
733   * Provides an event to stop playback.
734   *
735   * @syscap SystemCapability.ArkUI.ArkUI.Full
736   * @crossplatform
737   * @since 10
738   */
739  /**
740   * Provides an event to stop playback.
741   *
742   * @syscap SystemCapability.ArkUI.ArkUI.Full
743   * @crossplatform
744   * @atomicservice
745   * @since 11
746   */
747  stop();
748
749  /**
750   * Provides an event to stop playback.
751   *
752   * @syscap SystemCapability.ArkUI.ArkUI.Full
753   * @crossplatform
754   * @atomicservice
755   * @since 20
756   * @arkts 1.2
757   */
758  stop(): void;
759
760  /**
761   * Provide the progress method of video playback.
762   *
763   * @param { number } value
764   * @syscap SystemCapability.ArkUI.ArkUI.Full
765   * @since 7
766   */
767  /**
768   * Provide the progress method of video playback.
769   *
770   * @param { number } value
771   * @syscap SystemCapability.ArkUI.ArkUI.Full
772   * @crossplatform
773   * @since 10
774   */
775  /**
776   * Provide the progress method of video playback.
777   *
778   * @param { number } value
779   * @syscap SystemCapability.ArkUI.ArkUI.Full
780   * @crossplatform
781   * @atomicservice
782   * @since 11
783   */
784  setCurrentTime(value: number);
785
786  /**
787   * Provide the progress method of video playback.
788   *
789   * @param { number } value
790   * @syscap SystemCapability.ArkUI.ArkUI.Full
791   * @crossplatform
792   * @atomicservice
793   * @since 20
794   * @arkts 1.2
795   */
796  setCurrentTime(value: number): void;
797
798  /**
799   * Provides a full screen playback method.
800   *
801   * @param { boolean } value
802   * @syscap SystemCapability.ArkUI.ArkUI.Full
803   * @since 7
804   */
805  /**
806   * Provides a full screen playback method.
807   *
808   * @param { boolean } value
809   * @syscap SystemCapability.ArkUI.ArkUI.Full
810   * @crossplatform
811   * @since 10
812   */
813  /**
814   * Provides a full screen playback method.
815   *
816   * @param { boolean } value
817   * @syscap SystemCapability.ArkUI.ArkUI.Full
818   * @crossplatform
819   * @atomicservice
820   * @since 11
821   */
822  requestFullscreen(value: boolean);
823
824  /**
825   * Provides a full screen playback method.
826   *
827   * @param { boolean } value
828   * @syscap SystemCapability.ArkUI.ArkUI.Full
829   * @crossplatform
830   * @atomicservice
831   * @since 20
832   * @arkts 1.2
833   */
834  requestFullscreen(value: boolean): void;
835
836  /**
837   * Provides a method to exit full screen playback.
838   *
839   * @syscap SystemCapability.ArkUI.ArkUI.Full
840   * @since 7
841   */
842  /**
843   * Provides a method to exit full screen playback.
844   *
845   * @syscap SystemCapability.ArkUI.ArkUI.Full
846   * @crossplatform
847   * @since 10
848   */
849  /**
850   * Provides a method to exit full screen playback.
851   *
852   * @syscap SystemCapability.ArkUI.ArkUI.Full
853   * @crossplatform
854   * @atomicservice
855   * @since 11
856   */
857  exitFullscreen();
858
859  /**
860   * Provides a method to exit full screen playback.
861   *
862   * @syscap SystemCapability.ArkUI.ArkUI.Full
863   * @crossplatform
864   * @atomicservice
865   * @since 20
866   * @arkts 1.2
867   */
868  exitFullscreen(): void;
869
870  /**
871   * Provide the progress method of video playback.
872   *
873   * @param { number } value
874   * @param { SeekMode } seekMode
875   * @syscap SystemCapability.ArkUI.ArkUI.Full
876   * @since 8
877   */
878  /**
879   * Provide the progress method of video playback.
880   *
881   * @param { number } value
882   * @param { SeekMode } seekMode
883   * @syscap SystemCapability.ArkUI.ArkUI.Full
884   * @crossplatform
885   * @since 10
886   */
887  /**
888   * Provide the progress method of video playback.
889   *
890   * @param { number } value
891   * @param { SeekMode } seekMode
892   * @syscap SystemCapability.ArkUI.ArkUI.Full
893   * @crossplatform
894   * @atomicservice
895   * @since 11
896   */
897  setCurrentTime(value: number, seekMode: SeekMode);
898
899  /**
900   * Provide the progress method of video playback.
901   *
902   * @param { number } value
903   * @param { SeekMode } seekMode
904   * @syscap SystemCapability.ArkUI.ArkUI.Full
905   * @crossplatform
906   * @atomicservice
907   * @since 20
908   * @arkts 1.2
909   */
910  setCurrentTime(value: number, seekMode: SeekMode): void;
911
912  /**
913   * Provide the reset method of video playback.
914   *
915   * @syscap SystemCapability.ArkUI.ArkUI.Full
916   * @atomicservice
917   * @since arkts {'1.1':'12', '1.2':'20'}
918   * @arkts 1.1&1.2
919   */
920  reset(): void;
921}
922
923/**
924 * Defines the video interface.
925 *
926 * @interface VideoInterface
927 * @syscap SystemCapability.ArkUI.ArkUI.Full
928 * @since 7
929 */
930/**
931 * Defines the video interface.
932 *
933 * @interface VideoInterface
934 * @syscap SystemCapability.ArkUI.ArkUI.Full
935 * @crossplatform
936 * @since 10
937 */
938/**
939 * Defines the video interface.
940 *
941 * @interface VideoInterface
942 * @syscap SystemCapability.ArkUI.ArkUI.Full
943 * @crossplatform
944 * @atomicservice
945 * @since arkts {'1.1':'11','1.2':'20'}
946 * @arkts 1.1&1.2
947 */
948interface VideoInterface {
949  /**
950   * Set the value.
951   *
952   * @param { VideoOptions } value
953   * @returns { VideoAttribute }
954   * @syscap SystemCapability.ArkUI.ArkUI.Full
955   * @since 7
956   */
957  /**
958   * Set the value.
959   *
960   * @param { VideoOptions } value
961   * @returns { VideoAttribute }
962   * @syscap SystemCapability.ArkUI.ArkUI.Full
963   * @crossplatform
964   * @since 10
965   */
966  /**
967   * Set the value.
968   *
969   * @param { VideoOptions } value
970   * @returns { VideoAttribute }
971   * @syscap SystemCapability.ArkUI.ArkUI.Full
972   * @crossplatform
973   * @atomicservice
974   * @since arkts {'1.1':'11','1.2':'20'}
975   * @arkts 1.1&1.2
976   */
977  (value: VideoOptions): VideoAttribute;
978}
979
980/**
981 * Defines the video attribute functions.
982 *
983 * @extends CommonMethod<VideoAttribute>
984 * @syscap SystemCapability.ArkUI.ArkUI.Full
985 * @since 7
986 */
987/**
988 * Defines the video attribute functions.
989 *
990 * @extends CommonMethod<VideoAttribute>
991 * @syscap SystemCapability.ArkUI.ArkUI.Full
992 * @crossplatform
993 * @since 10
994 */
995/**
996 * Defines the video attribute functions.
997 *
998 * @extends CommonMethod<VideoAttribute>
999 * @syscap SystemCapability.ArkUI.ArkUI.Full
1000 * @crossplatform
1001 * @atomicservice
1002 * @since arkts {'1.1':'11','1.2':'20'}
1003 * @arkts 1.1&1.2
1004 */
1005declare class VideoAttribute extends CommonMethod<VideoAttribute> {
1006  /**
1007   * Called when judging whether the video is muted.
1008   *
1009   * @param { boolean } value
1010   * @returns { VideoAttribute }
1011   * @syscap SystemCapability.ArkUI.ArkUI.Full
1012   * @since 7
1013   */
1014  /**
1015   * Called when judging whether the video is muted.
1016   *
1017   * @param { boolean } value
1018   * @returns { VideoAttribute }
1019   * @syscap SystemCapability.ArkUI.ArkUI.Full
1020   * @crossplatform
1021   * @since 10
1022   */
1023  /**
1024   * Called when judging whether the video is muted.
1025   *
1026   * @param { boolean } value
1027   * @returns { VideoAttribute }
1028   * @syscap SystemCapability.ArkUI.ArkUI.Full
1029   * @crossplatform
1030   * @atomicservice
1031   * @since arkts {'1.1':'11','1.2':'20'}
1032   * @arkts 1.1&1.2
1033   */
1034  muted(value: boolean): VideoAttribute;
1035
1036  /**
1037   * Called when judging whether the video is played automatically.
1038   *
1039   * @param { boolean } value
1040   * @returns { VideoAttribute }
1041   * @syscap SystemCapability.ArkUI.ArkUI.Full
1042   * @since 7
1043   */
1044  /**
1045   * Called when judging whether the video is played automatically.
1046   *
1047   * @param { boolean } value
1048   * @returns { VideoAttribute }
1049   * @syscap SystemCapability.ArkUI.ArkUI.Full
1050   * @crossplatform
1051   * @since 10
1052   */
1053  /**
1054   * Called when judging whether the video is played automatically.
1055   *
1056   * @param { boolean } value
1057   * @returns { VideoAttribute }
1058   * @syscap SystemCapability.ArkUI.ArkUI.Full
1059   * @crossplatform
1060   * @atomicservice
1061   * @since arkts {'1.1':'11','1.2':'20'}
1062   * @arkts 1.1&1.2
1063   */
1064  autoPlay(value: boolean): VideoAttribute;
1065
1066  /**
1067   * Called when judging whether the control bar is displayed.
1068   *
1069   * @param { boolean } value
1070   * @returns { VideoAttribute }
1071   * @syscap SystemCapability.ArkUI.ArkUI.Full
1072   * @since 7
1073   */
1074  /**
1075   * Called when judging whether the control bar is displayed.
1076   *
1077   * @param { boolean } value
1078   * @returns { VideoAttribute }
1079   * @syscap SystemCapability.ArkUI.ArkUI.Full
1080   * @crossplatform
1081   * @since 10
1082   */
1083  /**
1084   * Called when judging whether the control bar is displayed.
1085   *
1086   * @param { boolean } value
1087   * @returns { VideoAttribute }
1088   * @syscap SystemCapability.ArkUI.ArkUI.Full
1089   * @crossplatform
1090   * @atomicservice
1091   * @since arkts {'1.1':'11','1.2':'20'}
1092   * @arkts 1.1&1.2
1093   */
1094  controls(value: boolean): VideoAttribute;
1095
1096  /**
1097   * Called when judging whether the video is played circular.
1098   *
1099   * @param { boolean } value
1100   * @returns { VideoAttribute }
1101   * @syscap SystemCapability.ArkUI.ArkUI.Full
1102   * @since 6
1103   */
1104  /**
1105   * Called when judging whether the video is played circular.
1106   *
1107   * @param { boolean } value
1108   * @returns { VideoAttribute }
1109   * @syscap SystemCapability.ArkUI.ArkUI.Full
1110   * @crossplatform
1111   * @since 10
1112   */
1113  /**
1114   * Called when judging whether the video is played circular.
1115   *
1116   * @param { boolean } value
1117   * @returns { VideoAttribute }
1118   * @syscap SystemCapability.ArkUI.ArkUI.Full
1119   * @crossplatform
1120   * @atomicservice
1121   * @since arkts {'1.1':'11','1.2':'20'}
1122   * @arkts 1.1&1.2
1123   */
1124  loop(value: boolean): VideoAttribute;
1125
1126  /**
1127   * Called when determining the zoom type of the video source.
1128   *
1129   * @param { ImageFit } value
1130   * @returns { VideoAttribute }
1131   * @syscap SystemCapability.ArkUI.ArkUI.Full
1132   * @since 7
1133   */
1134  /**
1135   * Called when determining the zoom type of the video source.
1136   *
1137   * @param { ImageFit } value
1138   * @returns { VideoAttribute }
1139   * @syscap SystemCapability.ArkUI.ArkUI.Full
1140   * @crossplatform
1141   * @since 10
1142   */
1143  /**
1144   * Called when determining the zoom type of the video source.
1145   *
1146   * @param { ImageFit } value
1147   * @returns { VideoAttribute }
1148   * @syscap SystemCapability.ArkUI.ArkUI.Full
1149   * @crossplatform
1150   * @atomicservice
1151   * @since arkts {'1.1':'11','1.2':'20'}
1152   * @arkts 1.1&1.2
1153   */
1154  objectFit(value: ImageFit): VideoAttribute;
1155
1156  /**
1157   * Called when the video is played.
1158   *
1159   * @param { function } event
1160   * @returns { VideoAttribute }
1161   * @syscap SystemCapability.ArkUI.ArkUI.Full
1162   * @since 7
1163   */
1164  /**
1165   * Called when the video is played.
1166   *
1167   * @param { function } event
1168   * @returns { VideoAttribute }
1169   * @syscap SystemCapability.ArkUI.ArkUI.Full
1170   * @crossplatform
1171   * @since 10
1172   */
1173  /**
1174   * Called when the video is played.
1175   *
1176   * @param { function } event
1177   * @returns { VideoAttribute }
1178   * @syscap SystemCapability.ArkUI.ArkUI.Full
1179   * @crossplatform
1180   * @atomicservice
1181   * @since 11
1182   */
1183  /**
1184   * Called when the video is played.
1185   * Anonymous Object Rectification.
1186   *
1187   * @param { VoidCallback } event
1188   * @returns { VideoAttribute }
1189   * @syscap SystemCapability.ArkUI.ArkUI.Full
1190   * @crossplatform
1191   * @atomicservice
1192   * @since arkts {'1.1':'18','1.2':'20'}
1193   * @arkts 1.1&1.2
1194   */
1195  onStart(event: VoidCallback): VideoAttribute;
1196
1197  /**
1198   * Called when the video is paused.
1199   *
1200   * @param { function } event
1201   * @returns { VideoAttribute }
1202   * @syscap SystemCapability.ArkUI.ArkUI.Full
1203   * @since 7
1204   */
1205  /**
1206   * Called when the video is paused.
1207   *
1208   * @param { function } event
1209   * @returns { VideoAttribute }
1210   * @syscap SystemCapability.ArkUI.ArkUI.Full
1211   * @crossplatform
1212   * @since 10
1213   */
1214  /**
1215   * Called when the video is paused.
1216   *
1217   * @param { function } event
1218   * @returns { VideoAttribute }
1219   * @syscap SystemCapability.ArkUI.ArkUI.Full
1220   * @crossplatform
1221   * @atomicservice
1222   * @since 11
1223   */
1224  /**
1225   * Called when the video is paused.
1226   * Anonymous Object Rectification.
1227   *
1228   * @param { VoidCallback } event
1229   * @returns { VideoAttribute }
1230   * @syscap SystemCapability.ArkUI.ArkUI.Full
1231   * @crossplatform
1232   * @atomicservice
1233   * @since arkts {'1.1':'18','1.2':'20'}
1234   * @arkts 1.1&1.2
1235   */
1236  onPause(event: VoidCallback): VideoAttribute;
1237
1238  /**
1239   * Called when the video playback ends.
1240   *
1241   * @param { function } event
1242   * @returns { VideoAttribute }
1243   * @syscap SystemCapability.ArkUI.ArkUI.Full
1244   * @since 7
1245   */
1246  /**
1247   * Called when the video playback ends.
1248   *
1249   * @param { function } event
1250   * @returns { VideoAttribute }
1251   * @syscap SystemCapability.ArkUI.ArkUI.Full
1252   * @crossplatform
1253   * @since 10
1254   */
1255  /**
1256   * Called when the video playback ends.
1257   *
1258   * @param { function } event
1259   * @returns { VideoAttribute }
1260   * @syscap SystemCapability.ArkUI.ArkUI.Full
1261   * @crossplatform
1262   * @atomicservice
1263   * @since 11
1264   */
1265  /**
1266   * Called when the video playback ends.
1267   * Anonymous Object Rectification.
1268   *
1269   * @param { VoidCallback } event
1270   * @returns { VideoAttribute }
1271   * @syscap SystemCapability.ArkUI.ArkUI.Full
1272   * @crossplatform
1273   * @atomicservice
1274   * @since arkts {'1.1':'18','1.2':'20'}
1275   * @arkts 1.1&1.2
1276   */
1277  onFinish(event: VoidCallback): VideoAttribute;
1278
1279  /**
1280   * Called when the video enters and exits the full screen.
1281   *
1282   * @param { function } callback
1283   * @returns { VideoAttribute }
1284   * @syscap SystemCapability.ArkUI.ArkUI.Full
1285   * @since 7
1286   */
1287  /**
1288   * Called when the video enters and exits the full screen.
1289   *
1290   * @param { function } callback
1291   * @returns { VideoAttribute }
1292   * @syscap SystemCapability.ArkUI.ArkUI.Full
1293   * @crossplatform
1294   * @since 10
1295   */
1296  /**
1297   * Called when the video enters and exits the full screen.
1298   *
1299   * @param { function } callback
1300   * @returns { VideoAttribute }
1301   * @syscap SystemCapability.ArkUI.ArkUI.Full
1302   * @crossplatform
1303   * @atomicservice
1304   * @since 11
1305   */
1306  /**
1307   * Called when the video enters and exits the full screen.
1308   * Anonymous Object Rectification.
1309   *
1310   * @param { Callback<FullscreenInfo> } callback
1311   * @returns { VideoAttribute }
1312   * @syscap SystemCapability.ArkUI.ArkUI.Full
1313   * @crossplatform
1314   * @atomicservice
1315   * @since arkts {'1.1':'18','1.2':'20'}
1316   * @arkts 1.1&1.2
1317   */
1318  onFullscreenChange(callback: Callback<FullscreenInfo>): VideoAttribute;
1319
1320  /**
1321   * Called when the video preparation is complete.
1322   *
1323   * @param { function } callback
1324   * @returns { VideoAttribute }
1325   * @syscap SystemCapability.ArkUI.ArkUI.Full
1326   * @since 7
1327   */
1328  /**
1329   * Called when the video preparation is complete.
1330   *
1331   * @param { function } callback
1332   * @returns { VideoAttribute }
1333   * @syscap SystemCapability.ArkUI.ArkUI.Full
1334   * @crossplatform
1335   * @since 10
1336   */
1337  /**
1338   * Called when the video preparation is complete.
1339   *
1340   * @param { function } callback
1341   * @returns { VideoAttribute }
1342   * @syscap SystemCapability.ArkUI.ArkUI.Full
1343   * @crossplatform
1344   * @atomicservice
1345   * @since 11
1346   */
1347  /**
1348   * Called when the video preparation is complete.
1349   * Anonymous Object Rectification.
1350   *
1351   * @param { Callback<PreparedInfo> } callback
1352   * @returns { VideoAttribute }
1353   * @syscap SystemCapability.ArkUI.ArkUI.Full
1354   * @crossplatform
1355   * @atomicservice
1356   * @since arkts {'1.1':'18','1.2':'20'}
1357   * @arkts 1.1&1.2
1358   */
1359  onPrepared(callback: Callback<PreparedInfo>): VideoAttribute;
1360
1361  /**
1362   * Called when the time information is reported when the progress bar process is operated.
1363   *
1364   * @param { function } callback
1365   * @returns { VideoAttribute }
1366   * @syscap SystemCapability.ArkUI.ArkUI.Full
1367   * @since 7
1368   */
1369  /**
1370   * Called when the time information is reported when the progress bar process is operated.
1371   *
1372   * @param { function } callback
1373   * @returns { VideoAttribute }
1374   * @syscap SystemCapability.ArkUI.ArkUI.Full
1375   * @crossplatform
1376   * @since 10
1377   */
1378  /**
1379   * Called when the time information is reported when the progress bar process is operated.
1380   *
1381   * @param { function } callback
1382   * @returns { VideoAttribute }
1383   * @syscap SystemCapability.ArkUI.ArkUI.Full
1384   * @crossplatform
1385   * @atomicservice
1386   * @since 11
1387   */
1388  /**
1389   * Called when the time information is reported when the progress bar process is operated.
1390   * Anonymous Object Rectification.
1391   *
1392   * @param { Callback<PlaybackInfo> } callback
1393   * @returns { VideoAttribute }
1394   * @syscap SystemCapability.ArkUI.ArkUI.Full
1395   * @crossplatform
1396   * @atomicservice
1397   * @since arkts {'1.1':'18','1.2':'20'}
1398   * @arkts 1.1&1.2
1399   */
1400  onSeeking(callback: Callback<PlaybackInfo>): VideoAttribute;
1401
1402  /**
1403   * Called when the playback time information is reported after the operation progress bar is completed.
1404   *
1405   * @param { function } callback
1406   * @returns { VideoAttribute }
1407   * @syscap SystemCapability.ArkUI.ArkUI.Full
1408   * @since 7
1409   */
1410  /**
1411   * Called when the playback time information is reported after the operation progress bar is completed.
1412   *
1413   * @param { function } callback
1414   * @returns { VideoAttribute }
1415   * @syscap SystemCapability.ArkUI.ArkUI.Full
1416   * @crossplatform
1417   * @since 10
1418   */
1419  /**
1420   * Called when the playback time information is reported after the operation progress bar is completed.
1421   *
1422   * @param { function } callback
1423   * @returns { VideoAttribute }
1424   * @syscap SystemCapability.ArkUI.ArkUI.Full
1425   * @crossplatform
1426   * @atomicservice
1427   * @since 11
1428   */
1429  /**
1430   * Called when the playback time information is reported after the operation progress bar is completed.
1431   * Anonymous Object Rectification.
1432   *
1433   * @param { Callback<PlaybackInfo> } callback
1434   * @returns { VideoAttribute }
1435   * @syscap SystemCapability.ArkUI.ArkUI.Full
1436   * @crossplatform
1437   * @atomicservice
1438   * @since arkts {'1.1':'18','1.2':'20'}
1439   * @arkts 1.1&1.2
1440   */
1441  onSeeked(callback: Callback<PlaybackInfo>): VideoAttribute;
1442
1443  /**
1444   * Called when the playback progress changes.
1445   *
1446   * @param { function } callback
1447   * @returns { VideoAttribute }
1448   * @syscap SystemCapability.ArkUI.ArkUI.Full
1449   * @since 7
1450   */
1451  /**
1452   * Called when the playback progress changes.
1453   *
1454   * @param { function } callback
1455   * @returns { VideoAttribute }
1456   * @syscap SystemCapability.ArkUI.ArkUI.Full
1457   * @crossplatform
1458   * @since 10
1459   */
1460  /**
1461   * Called when the playback progress changes.
1462   *
1463   * @param { function } callback
1464   * @returns { VideoAttribute }
1465   * @syscap SystemCapability.ArkUI.ArkUI.Full
1466   * @crossplatform
1467   * @atomicservice
1468   * @since 11
1469   */
1470  /**
1471   * Called when the playback progress changes.
1472   * Anonymous Object Rectification.
1473   *
1474   * @param { Callback<PlaybackInfo> } callback
1475   * @returns { VideoAttribute }
1476   * @syscap SystemCapability.ArkUI.ArkUI.Full
1477   * @crossplatform
1478   * @atomicservice
1479   * @since arkts {'1.1':'18','1.2':'20'}
1480   * @arkts 1.1&1.2
1481   */
1482  onUpdate(callback: Callback<PlaybackInfo>): VideoAttribute;
1483
1484  /**
1485   * Called when playback fails.
1486   *
1487   * @param { function } event
1488   * @returns { VideoAttribute }
1489   * @syscap SystemCapability.ArkUI.ArkUI.Full
1490   * @since 7
1491   */
1492  /**
1493   * Called when playback fails.
1494   *
1495   * @param { function } event
1496   * @returns { VideoAttribute }
1497   * @syscap SystemCapability.ArkUI.ArkUI.Full
1498   * @crossplatform
1499   * @since 10
1500   */
1501  /**
1502   * Called when playback fails.
1503   *
1504   * @param { function } event
1505   * @returns { VideoAttribute }
1506   * @syscap SystemCapability.ArkUI.ArkUI.Full
1507   * @crossplatform
1508   * @atomicservice
1509   * @since 11
1510   */
1511  /**
1512   * Called when playback fails.
1513   *
1514   * @param { VoidCallback | import('../api/@ohos.base').ErrorCallback } event
1515   * @returns { VideoAttribute }
1516   * @syscap SystemCapability.ArkUI.ArkUI.Full
1517   * @crossplatform
1518   * @atomicservice
1519   * @since 20
1520   */
1521  onError(event: VoidCallback | import('../api/@ohos.base').ErrorCallback): VideoAttribute;
1522
1523  /**
1524   * Called when playback fails.
1525   *
1526   * @param { function } event
1527   * @returns { VideoAttribute }
1528   * @syscap SystemCapability.ArkUI.ArkUI.Full
1529   * @crossplatform
1530   * @atomicservice
1531   * @since 20
1532   * @arkts 1.2
1533   */
1534  onError(event: () => void): VideoAttribute;
1535
1536  /**
1537   * Called when the video is stopped.
1538   *
1539   * @param { Callback<void> } event
1540   * @returns { VideoAttribute }
1541   * @syscap SystemCapability.ArkUI.ArkUI.Full
1542   * @crossplatform
1543   * @atomicservice
1544   * @since arkts {'1.1':'12','1.2':'20'}
1545   * @arkts 1.1&1.2
1546   */
1547  onStop(event: Callback<void>): VideoAttribute;
1548
1549  /**
1550   * Enable image analyzer.
1551   *
1552   * @param { boolean } enable
1553   * @returns { VideoAttribute }
1554   * @syscap SystemCapability.ArkUI.ArkUI.Full
1555   * @atomicservice
1556   * @since arkts {'1.1':'12','1.2':'20'}
1557   * @arkts 1.1&1.2
1558   */
1559  enableAnalyzer(enable: boolean): VideoAttribute;
1560
1561  /**
1562   * Set image analyzer with config.
1563   *
1564   * @param { ImageAnalyzerConfig } config
1565   * @returns { VideoAttribute }
1566   * @syscap SystemCapability.ArkUI.ArkUI.Full
1567   * @atomicservice
1568   * @since arkts {'1.1':'12','1.2':'20'}
1569   * @arkts 1.1&1.2
1570   */
1571  analyzerConfig(config: ImageAnalyzerConfig): VideoAttribute;
1572
1573  /**
1574   * Set background color of the surface holden by Video(only support Color.Black and Color.Transparent). The default value is Color.Black.
1575   *
1576   * @param { ColorMetrics } color
1577   * @returns { VideoAttribute }
1578   * @syscap SystemCapability.ArkUI.ArkUI.Full
1579   * @systemapi
1580   * @since arkts {'1.1':'15','1.2':'20'}
1581   * @arkts 1.1&1.2
1582   */
1583  surfaceBackgroundColor(color: ColorMetrics): VideoAttribute;
1584
1585  /**
1586   * Indicates whether to response shortcut key. The default value is false.
1587   * If the value is true, video will respond to the shortcut keys as follows:
1588   * Space key: play/pause the video.
1589   * Up/Down arrow key: turn up/down volume of the video.
1590   * Right/Left arrow key: fast forward/backward the video.
1591   *
1592   * @param { boolean } enabled
1593   * @returns { VideoAttribute }
1594   * @syscap SystemCapability.ArkUI.ArkUI.Full
1595   * @atomicservice
1596   * @since arkts {'1.1':'15','1.2':'20'}
1597   * @arkts 1.1&1.2
1598   */
1599  enableShortcutKey(enabled: boolean): VideoAttribute;
1600}
1601
1602/**
1603 * Defines Video Component.
1604 *
1605 * @syscap SystemCapability.ArkUI.ArkUI.Full
1606 * @since 7
1607 */
1608/**
1609 * Defines Video Component.
1610 *
1611 * @syscap SystemCapability.ArkUI.ArkUI.Full
1612 * @crossplatform
1613 * @since 10
1614 */
1615/**
1616 * Defines Video Component.
1617 *
1618 * @syscap SystemCapability.ArkUI.ArkUI.Full
1619 * @crossplatform
1620 * @atomicservice
1621 * @since 11
1622 */
1623declare const Video: VideoInterface;
1624
1625/**
1626 * Defines Video Component instance.
1627 *
1628 * @syscap SystemCapability.ArkUI.ArkUI.Full
1629 * @since 7
1630 */
1631/**
1632 * Defines Video Component instance.
1633 *
1634 * @syscap SystemCapability.ArkUI.ArkUI.Full
1635 * @crossplatform
1636 * @since 10
1637 */
1638/**
1639 * Defines Video Component instance.
1640 *
1641 * @syscap SystemCapability.ArkUI.ArkUI.Full
1642 * @crossplatform
1643 * @atomicservice
1644 * @since 11
1645 */
1646declare const VideoInstance: VideoAttribute;
1647