import * as _tethys_pro_i18n from '@tethys/pro/i18n'; import * as _angular_core from '@angular/core'; import { OnInit, ElementRef, ChangeDetectorRef, AfterViewInit, PipeTransform, OnDestroy, NgZone } from '@angular/core'; import { DomSanitizer, SafeUrl } from '@angular/platform-browser'; import * as ngx_tethys_core from 'ngx-tethys/core'; import { MixinBase } from 'ngx-tethys/core'; import { ThySliderType } from 'ngx-tethys/slider'; import * as i1 from '@angular/common'; import * as i2 from '@angular/forms'; import * as i3 from 'ngx-tethys/icon'; import * as i4 from 'ngx-tethys/dropdown'; import * as i5 from 'ngx-tethys/action'; declare const ThyVideoControlsComponent_base: ngx_tethys_core.Constructor & typeof MixinBase; declare class ThyVideoControlsComponent extends ThyVideoControlsComponent_base implements OnInit { private cdr; locale: _angular_core.Signal<_tethys_pro_i18n.ThyI18nTranslation>; /** * 进度主题类型 primary | success | info | warning | danger */ readonly progressType: _angular_core.InputSignal; /** * 媒体组件 */ readonly media: _angular_core.InputSignal>; get isPlaying(): boolean; get mediaHtmlElement(): HTMLMediaElement | undefined; /** * 进度值 */ progressValue: number; /** * 缓存值 */ bufferedValue: number; tempVolume: number; popoverOptions: { insideClosable: boolean; outsideClosable: boolean; }; private hostRenderer; playBackRates: number[]; placement: any; get isFullscreen(): any; private document; constructor(cdr: ChangeDetectorRef); ngOnInit(): void; actionActiveChange(active: boolean): void; onCanPlay(): void; /** * 播放时间更新 * 非禁用或当前时间为总时长重新设置进度 */ onTimeUpdate: () => void; onWaiting: () => void; /** * 设置进度以及缓存 * 根据最新播放时间和总时长计算进度 * 根据最新缓存和总时长重新计算缓存 */ setProgressValue(): void; onMouseStart(): void; onMouseMove(): void; onMouseEnd(): void; playOrPause(): void; onPlay(): void; /** * 暂停播放 * chrome 50后触发video.play会返回promise对象 播放失败会inject */ onPause(): void; afterVolumeChange(value: number): void; muted(): void; toggleFullscreen(): void; /** * 进度条点击事件 * 根据当前播放时间 * 设置缓存值 * buffered.end 取值为 0-1 */ afterProgressChange(value: number): void; playBackRateChange(rate: number): void; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare const DEFAULT_PLAYBACK_RATES: number[]; declare const ThyMediaPlayerBaseComponent_base: ngx_tethys_core.Constructor & typeof MixinBase; /** * @internal */ declare class ThyMediaPlayerBaseComponent extends ThyMediaPlayerBaseComponent_base implements OnInit { sanitizer: DomSanitizer; errorTips: { formatError: string; networkError: string; }; showErrorTip: boolean; showMedia: boolean; errorTipText: string; set fileSrc(value: string | SafeUrl); get fileSrc(): string | SafeUrl; private internalFileSrc; /** * 缓存值(0-100) */ bufferedValue: number; /** * 进度值(0-100) */ progressValue: number; /** * 进度类型 */ readonly thyProgressType: _angular_core.InputSignal; /** * 媒体元数据被加载完成后触发 能拿到媒体尺寸、时长等 */ readonly thyLoadedMetadata: _angular_core.OutputEmitterRef; constructor(sanitizer: DomSanitizer); ngOnInit(): void; onLoadedmetadata(event: Event): void; onCanPlay(): void; onError(event: Event): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵdir: _angular_core.ɵɵDirectiveDeclaration; } declare class ThyAudioPlayerComponent extends ThyMediaPlayerBaseComponent implements OnInit, AfterViewInit { sanitizer: DomSanitizer; cdr: ChangeDetectorRef; class: string; readonly audioElement: _angular_core.Signal>; readonly controls: _angular_core.Signal; locale: _angular_core.Signal<_tethys_pro_i18n.ThyI18nTranslation>; /** * 媒体资源的url * angular 21.0.4 到 21.1.0 版本中,当 audio[src] 经过 bypassSecurityTrustResourceUrl 转换后,编译阶段不会清理 */ thySrc: string | SafeUrl; /** * 当下载到足够播放的媒体文件,是否可以自动播放 */ readonly thyAutoPlay: _angular_core.InputSignalWithTransform; /** * 文件大小 */ readonly thyFileSize: _angular_core.InputSignal; /** * 文件名称 */ readonly thyFileName: _angular_core.ModelSignal; errorTips: { formatError: string; networkError: string; }; audio: ElementRef; constructor(sanitizer: DomSanitizer, cdr: ChangeDetectorRef); ngAfterViewInit(): void; onLoadedmetadata(event: Event): void; onCanPlay(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class ThyTimeFormatPipe implements PipeTransform { constructor(); transform(time?: number, displayHours?: boolean, inverted?: boolean): string; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵpipe: _angular_core.ɵɵPipeDeclaration; } declare class ThyVolumeFormatPipe implements PipeTransform { constructor(); transform(volume: number | undefined): number; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵpipe: _angular_core.ɵɵPipeDeclaration; } declare class ThyVideoPlayerComponent extends ThyMediaPlayerBaseComponent implements OnInit, AfterViewInit, OnDestroy { sanitizer: DomSanitizer; cdr: ChangeDetectorRef; class: string; readonly videoElement: _angular_core.Signal>; readonly controls: _angular_core.Signal; locale: _angular_core.Signal<_tethys_pro_i18n.ThyI18nTranslation>; /** * 媒体资源的url */ set thySrc(src: string | SafeUrl); /** * 当下载到足够播放的媒体文件,是否可以自动播放 */ readonly thyAutoPlay: _angular_core.InputSignalWithTransform; errorTips: { formatError: string; networkError: string; }; playBackRates: number[]; private hostRenderer; video: ElementRef; constructor(sanitizer: DomSanitizer, cdr: ChangeDetectorRef); ngOnInit(): void; ngAfterViewInit(): void; onCanPlay(): void; onLoadedmetadata(event: Event): void; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare const ThyMediaProgressComponent_base: ngx_tethys_core.Constructor & typeof MixinBase; declare class ThyMediaProgressComponent extends ThyMediaProgressComponent_base implements OnInit, AfterViewInit { private cdr; private ref; private ngZone; readonly progressRail: _angular_core.Signal | undefined>; readonly progressTrack: _angular_core.Signal | undefined>; readonly progressBuffer: _angular_core.Signal | undefined>; /** * 进度值 */ readonly thyProgressValue: _angular_core.InputSignalWithTransform; /** * 缓存值 */ readonly thyBufferedValue: _angular_core.InputSignalWithTransform; /** * 进度条方向 */ readonly thyDirection: _angular_core.InputSignal<"horizontal" | "vertical">; /** * 进度主题类型 primary | success | info | warning | danger */ readonly thyProgressType: _angular_core.InputSignal; /** * 移动结束后回调 */ readonly thyAfterChange: _angular_core.OutputEmitterRef; /** * 移动开始 */ readonly thyMoveStart: _angular_core.OutputEmitterRef; /** * 移动中 */ readonly thyMove: _angular_core.OutputEmitterRef; /** * 移动结束 */ readonly thyMoveEnd: _angular_core.OutputEmitterRef; get dimension(): "width" | "height"; private dragStartListener; private dragMoveListener; private dragEndListener; private dragStartHandler; private dragMoveHandler; private dragEndHandler; private hostRenderer; typeClassName: string; progressValue: number; constructor(cdr: ChangeDetectorRef, ref: ElementRef, ngZone: NgZone); ngOnInit(): void; ngAfterViewInit(): void; private setValue; private updateTrackAndPointer; private unsubscribeMouseListeners; private subscribeMouseListeners; private mouseStartMoving; private mouseMoving; private mouseStopMoving; private pointerController; private registerMouseEventsListeners; private mousePositionToAdaptiveValue; private getProgressPagePosition; private convertPointerPositionToRatio; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class ThyAudioControlsComponent extends ThyVideoControlsComponent implements OnInit { private changeDetectorRef; locale: _angular_core.Signal<_tethys_pro_i18n.ThyI18nTranslation>; readonly fileName: _angular_core.InputSignal; readonly fileSize: _angular_core.InputSignal; readonly errorTips: _angular_core.InputSignal; constructor(changeDetectorRef: ChangeDetectorRef); static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class ThyProMediaModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵmod: _angular_core.ɵɵNgModuleDeclaration; static ɵinj: _angular_core.ɵɵInjectorDeclaration; } export { DEFAULT_PLAYBACK_RATES, ThyAudioPlayerComponent, ThyMediaPlayerBaseComponent, ThyProMediaModule, ThyTimeFormatPipe, ThyVideoPlayerComponent, ThyVolumeFormatPipe }; //# sourceMappingURL=tethys-pro-media.d.ts.map