UNPKG

4.7 kBTypeScriptView Raw
1import { Asset } from 'expo-asset';
2export declare enum PitchCorrectionQuality {
3 Low,
4 Medium,
5 High
6}
7export declare type AVPlaybackSource = number | {
8 uri: string;
9 overrideFileExtensionAndroid?: string;
10 headers?: {
11 [fieldName: string]: string;
12 };
13} | Asset;
14export declare type AVPlaybackNativeSource = {
15 uri: string;
16 overridingExtension?: string | null;
17 headers?: {
18 [fieldName: string]: string;
19 };
20};
21export declare type AVPlaybackStatus = {
22 isLoaded: false;
23 androidImplementation?: string;
24 error?: string;
25} | {
26 isLoaded: true;
27 androidImplementation?: string;
28 uri: string;
29 progressUpdateIntervalMillis: number;
30 durationMillis?: number;
31 positionMillis: number;
32 playableDurationMillis?: number;
33 seekMillisToleranceBefore?: number;
34 seekMillisToleranceAfter?: number;
35 shouldPlay: boolean;
36 isPlaying: boolean;
37 isBuffering: boolean;
38 rate: number;
39 shouldCorrectPitch: boolean;
40 volume: number;
41 isMuted: boolean;
42 isLooping: boolean;
43 didJustFinish: boolean;
44};
45export declare type AVPlaybackStatusToSet = {
46 androidImplementation?: string;
47 progressUpdateIntervalMillis?: number;
48 positionMillis?: number;
49 seekMillisToleranceBefore?: number;
50 seekMillisToleranceAfter?: number;
51 shouldPlay?: boolean;
52 rate?: number;
53 shouldCorrectPitch?: boolean;
54 volume?: number;
55 isMuted?: boolean;
56 isLooping?: boolean;
57 pitchCorrectionQuality?: PitchCorrectionQuality;
58};
59export declare const _DEFAULT_PROGRESS_UPDATE_INTERVAL_MILLIS: number;
60export declare const _DEFAULT_INITIAL_PLAYBACK_STATUS: AVPlaybackStatusToSet;
61export declare function getNativeSourceFromSource(source?: AVPlaybackSource | null): AVPlaybackNativeSource | null;
62export declare function assertStatusValuesInBounds(status: AVPlaybackStatusToSet): void;
63export declare function getNativeSourceAndFullInitialStatusForLoadAsync(source: AVPlaybackSource | null, initialStatus: AVPlaybackStatusToSet | null, downloadFirst: boolean): Promise<{
64 nativeSource: AVPlaybackNativeSource;
65 fullInitialStatus: AVPlaybackStatusToSet;
66}>;
67export declare function getUnloadedStatus(error?: string | null): AVPlaybackStatus;
68export interface AV {
69 setStatusAsync(status: AVPlaybackStatusToSet): Promise<AVPlaybackStatus>;
70 getStatusAsync(): Promise<AVPlaybackStatus>;
71}
72export interface Playback extends AV {
73 playAsync(): Promise<AVPlaybackStatus>;
74 loadAsync(source: AVPlaybackSource, initialStatus: AVPlaybackStatusToSet, downloadAsync: boolean): Promise<AVPlaybackStatus>;
75 unloadAsync(): Promise<AVPlaybackStatus>;
76 playFromPositionAsync(positionMillis: number, tolerances?: {
77 toleranceMillisBefore?: number;
78 toleranceMillisAfter?: number;
79 }): Promise<AVPlaybackStatus>;
80 pauseAsync(): Promise<AVPlaybackStatus>;
81 stopAsync(): Promise<AVPlaybackStatus>;
82 replayAsync(status: AVPlaybackStatusToSet): Promise<AVPlaybackStatus>;
83 setPositionAsync(positionMillis: number, tolerances?: {
84 toleranceMillisBefore?: number;
85 toleranceMillisAfter?: number;
86 }): Promise<AVPlaybackStatus>;
87 setRateAsync(rate: number, shouldCorrectPitch: boolean, pitchCorrectionQuality?: PitchCorrectionQuality): Promise<AVPlaybackStatus>;
88 setVolumeAsync(volume: number): Promise<AVPlaybackStatus>;
89 setIsMutedAsync(isMuted: boolean): Promise<AVPlaybackStatus>;
90 setIsLoopingAsync(isLooping: boolean): Promise<AVPlaybackStatus>;
91 setProgressUpdateIntervalAsync(progressUpdateIntervalMillis: number): Promise<AVPlaybackStatus>;
92}
93/**
94 * A mixin that defines common playback methods for A/V classes so they implement the `Playback`
95 * interface
96 */
97export declare const PlaybackMixin: {
98 playAsync(): Promise<AVPlaybackStatus>;
99 playFromPositionAsync(positionMillis: number, tolerances?: {
100 toleranceMillisBefore?: number;
101 toleranceMillisAfter?: number;
102 }): Promise<AVPlaybackStatus>;
103 pauseAsync(): Promise<AVPlaybackStatus>;
104 stopAsync(): Promise<AVPlaybackStatus>;
105 setPositionAsync(positionMillis: number, tolerances?: {
106 toleranceMillisBefore?: number;
107 toleranceMillisAfter?: number;
108 }): Promise<AVPlaybackStatus>;
109 setRateAsync(rate: number, shouldCorrectPitch?: boolean, pitchCorrectionQuality?: PitchCorrectionQuality): Promise<AVPlaybackStatus>;
110 setVolumeAsync(volume: number): Promise<AVPlaybackStatus>;
111 setIsMutedAsync(isMuted: boolean): Promise<AVPlaybackStatus>;
112 setIsLoopingAsync(isLooping: boolean): Promise<AVPlaybackStatus>;
113 setProgressUpdateIntervalAsync(progressUpdateIntervalMillis: number): Promise<AVPlaybackStatus>;
114};