mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-13 11:21:46 +00:00
QOL: Move source code under the src directory. (#1318)
This commit is contained in:
1823
src/types/datahost-get-state.ts
Normal file
1823
src/types/datahost-get-state.ts
Normal file
File diff suppressed because it is too large
Load Diff
464
src/types/get-player-response.ts
Normal file
464
src/types/get-player-response.ts
Normal file
@ -0,0 +1,464 @@
|
||||
export interface GetPlayerResponse {
|
||||
responseContext: ResponseContext;
|
||||
playabilityStatus: PlayabilityStatus;
|
||||
streamingData: StreamingData;
|
||||
heartbeatParams: HeartbeatParams;
|
||||
playbackTracking: PlaybackTracking;
|
||||
captions: Captions;
|
||||
videoDetails: GetPlayerResponseVideoDetails;
|
||||
playerConfig: PlayerConfig;
|
||||
storyboards: Storyboards;
|
||||
microformat: Microformat;
|
||||
trackingParams: string;
|
||||
attestation: Attestation;
|
||||
endscreen: Endscreen;
|
||||
adBreakHeartbeatParams: string;
|
||||
}
|
||||
|
||||
export interface Attestation {
|
||||
playerAttestationRenderer: PlayerAttestationRenderer;
|
||||
}
|
||||
|
||||
export interface PlayerAttestationRenderer {
|
||||
challenge: string;
|
||||
botguardData: BotguardData;
|
||||
}
|
||||
|
||||
export interface BotguardData {
|
||||
program: string;
|
||||
interpreterSafeUrl: InterpreterSafeURL;
|
||||
serverEnvironment: number;
|
||||
}
|
||||
|
||||
export interface InterpreterSafeURL {
|
||||
privateDoNotAccessOrElseTrustedResourceUrlWrappedValue: string;
|
||||
}
|
||||
|
||||
export interface Captions {
|
||||
playerCaptionsTracklistRenderer: PlayerCaptionsTracklistRenderer;
|
||||
}
|
||||
|
||||
export interface PlayerCaptionsTracklistRenderer {
|
||||
captionTracks: CaptionTrack[];
|
||||
audioTracks: AudioTrack[];
|
||||
translationLanguages: TranslationLanguage[];
|
||||
defaultAudioTrackIndex: number;
|
||||
}
|
||||
|
||||
export interface AudioTrack {
|
||||
captionTrackIndices: number[];
|
||||
}
|
||||
|
||||
export interface CaptionTrack {
|
||||
baseUrl: string;
|
||||
name: Name;
|
||||
vssId: string;
|
||||
languageCode: string;
|
||||
kind: string;
|
||||
isTranslatable: boolean;
|
||||
}
|
||||
|
||||
export interface Name {
|
||||
runs: Run[];
|
||||
}
|
||||
|
||||
export interface Run {
|
||||
text: string;
|
||||
}
|
||||
|
||||
export interface TranslationLanguage {
|
||||
languageCode: string;
|
||||
languageName: Name;
|
||||
}
|
||||
|
||||
export interface Endscreen {
|
||||
endscreenRenderer: EndscreenRenderer;
|
||||
}
|
||||
|
||||
export interface EndscreenRenderer {
|
||||
elements: Element[];
|
||||
startMs: string;
|
||||
trackingParams: string;
|
||||
}
|
||||
|
||||
export interface Element {
|
||||
endscreenElementRenderer: EndscreenElementRenderer;
|
||||
}
|
||||
|
||||
export interface EndscreenElementRenderer {
|
||||
style: string;
|
||||
image: ImageClass;
|
||||
left: number;
|
||||
width: number;
|
||||
top: number;
|
||||
aspectRatio: number;
|
||||
startMs: string;
|
||||
endMs: string;
|
||||
title: Title;
|
||||
metadata: Name;
|
||||
endpoint: Endpoint;
|
||||
trackingParams: string;
|
||||
id: string;
|
||||
thumbnailOverlays: ThumbnailOverlay[];
|
||||
}
|
||||
|
||||
export interface Endpoint {
|
||||
clickTrackingParams: string;
|
||||
commandMetadata: CommandMetadata;
|
||||
watchEndpoint: WatchEndpoint;
|
||||
}
|
||||
|
||||
export interface CommandMetadata {
|
||||
}
|
||||
|
||||
export interface WatchEndpoint {
|
||||
videoId: string;
|
||||
}
|
||||
|
||||
export interface ImageClass {
|
||||
thumbnails: ThumbnailElement[];
|
||||
}
|
||||
|
||||
export interface ThumbnailElement {
|
||||
url: string;
|
||||
width: number;
|
||||
height: number;
|
||||
}
|
||||
|
||||
export interface ThumbnailOverlay {
|
||||
thumbnailOverlayTimeStatusRenderer: ThumbnailOverlayTimeStatusRenderer;
|
||||
}
|
||||
|
||||
export interface ThumbnailOverlayTimeStatusRenderer {
|
||||
text: Title;
|
||||
style: string;
|
||||
}
|
||||
|
||||
export interface Title {
|
||||
runs: Run[];
|
||||
accessibility: Accessibility;
|
||||
}
|
||||
|
||||
export interface Accessibility {
|
||||
accessibilityData: AccessibilityData;
|
||||
}
|
||||
|
||||
export interface AccessibilityData {
|
||||
label: string;
|
||||
}
|
||||
|
||||
export interface HeartbeatParams {
|
||||
heartbeatToken: string;
|
||||
intervalMilliseconds: string;
|
||||
maxRetries: string;
|
||||
drmSessionId: string;
|
||||
softFailOnError: boolean;
|
||||
heartbeatServerData: string;
|
||||
}
|
||||
|
||||
export interface Microformat {
|
||||
microformatDataRenderer: MicroformatDataRenderer;
|
||||
}
|
||||
|
||||
export interface MicroformatDataRenderer {
|
||||
urlCanonical: string;
|
||||
title: string;
|
||||
description: string;
|
||||
thumbnail: ImageClass;
|
||||
siteName: string;
|
||||
appName: string;
|
||||
androidPackage: string;
|
||||
iosAppStoreId: string;
|
||||
iosAppArguments: string;
|
||||
ogType: string;
|
||||
urlApplinksIos: string;
|
||||
urlApplinksAndroid: string;
|
||||
urlTwitterIos: string;
|
||||
urlTwitterAndroid: string;
|
||||
twitterCardType: string;
|
||||
twitterSiteHandle: string;
|
||||
schemaDotOrgType: string;
|
||||
noindex: boolean;
|
||||
unlisted: boolean;
|
||||
paid: boolean;
|
||||
familySafe: boolean;
|
||||
tags: string[];
|
||||
availableCountries: string[];
|
||||
pageOwnerDetails: PageOwnerDetails;
|
||||
videoDetails: MicroformatDataRendererVideoDetails;
|
||||
linkAlternates: LinkAlternate[];
|
||||
viewCount: string;
|
||||
publishDate: string;
|
||||
category: string;
|
||||
uploadDate: string;
|
||||
}
|
||||
|
||||
export interface LinkAlternate {
|
||||
hrefUrl: string;
|
||||
title?: string;
|
||||
alternateType?: string;
|
||||
}
|
||||
|
||||
export interface PageOwnerDetails {
|
||||
name: string;
|
||||
externalChannelId: string;
|
||||
youtubeProfileUrl: string;
|
||||
}
|
||||
|
||||
export interface MicroformatDataRendererVideoDetails {
|
||||
externalVideoId: string;
|
||||
durationSeconds: string;
|
||||
durationIso8601: string;
|
||||
}
|
||||
|
||||
export interface PlayabilityStatus {
|
||||
status: string;
|
||||
playableInEmbed: boolean;
|
||||
audioOnlyPlayability: AudioOnlyPlayability;
|
||||
miniplayer: Miniplayer;
|
||||
contextParams: string;
|
||||
}
|
||||
|
||||
export interface AudioOnlyPlayability {
|
||||
audioOnlyPlayabilityRenderer: AudioOnlyPlayabilityRenderer;
|
||||
}
|
||||
|
||||
export interface AudioOnlyPlayabilityRenderer {
|
||||
trackingParams: string;
|
||||
audioOnlyAvailability: string;
|
||||
}
|
||||
|
||||
export interface Miniplayer {
|
||||
miniplayerRenderer: MiniplayerRenderer;
|
||||
}
|
||||
|
||||
export interface MiniplayerRenderer {
|
||||
playbackMode: string;
|
||||
}
|
||||
|
||||
export interface PlaybackTracking {
|
||||
videostatsPlaybackUrl: PtrackingURLClass;
|
||||
videostatsDelayplayUrl: AtrURLClass;
|
||||
videostatsWatchtimeUrl: PtrackingURLClass;
|
||||
ptrackingUrl: PtrackingURLClass;
|
||||
qoeUrl: PtrackingURLClass;
|
||||
atrUrl: AtrURLClass;
|
||||
videostatsScheduledFlushWalltimeSeconds: number[];
|
||||
videostatsDefaultFlushIntervalSeconds: number;
|
||||
googleRemarketingUrl: AtrURLClass;
|
||||
}
|
||||
|
||||
export interface AtrURLClass {
|
||||
baseUrl: string;
|
||||
elapsedMediaTimeSeconds: number;
|
||||
headers: Header[];
|
||||
}
|
||||
|
||||
export interface Header {
|
||||
headerType: HeaderType;
|
||||
}
|
||||
|
||||
export enum HeaderType {
|
||||
PlusPageID = 'PLUS_PAGE_ID',
|
||||
UserAuth = 'USER_AUTH',
|
||||
VisitorID = 'VISITOR_ID',
|
||||
}
|
||||
|
||||
export interface PtrackingURLClass {
|
||||
baseUrl: string;
|
||||
headers: Header[];
|
||||
}
|
||||
|
||||
export interface PlayerConfig {
|
||||
audioConfig: AudioConfig;
|
||||
streamSelectionConfig: StreamSelectionConfig;
|
||||
mediaCommonConfig: MediaCommonConfig;
|
||||
webPlayerConfig: WebPlayerConfig;
|
||||
}
|
||||
|
||||
export interface AudioConfig {
|
||||
loudnessDb: number;
|
||||
perceptualLoudnessDb: number;
|
||||
enablePerFormatLoudness: boolean;
|
||||
}
|
||||
|
||||
export interface MediaCommonConfig {
|
||||
dynamicReadaheadConfig: DynamicReadaheadConfig;
|
||||
}
|
||||
|
||||
export interface DynamicReadaheadConfig {
|
||||
maxReadAheadMediaTimeMs: number;
|
||||
minReadAheadMediaTimeMs: number;
|
||||
readAheadGrowthRateMs: number;
|
||||
}
|
||||
|
||||
export interface StreamSelectionConfig {
|
||||
maxBitrate: string;
|
||||
}
|
||||
|
||||
export interface WebPlayerConfig {
|
||||
useCobaltTvosDash: boolean;
|
||||
webPlayerActionsPorting: WebPlayerActionsPorting;
|
||||
gatewayExperimentGroup: string;
|
||||
}
|
||||
|
||||
export interface WebPlayerActionsPorting {
|
||||
subscribeCommand: SubscribeCommand;
|
||||
unsubscribeCommand: UnsubscribeCommand;
|
||||
addToWatchLaterCommand: AddToWatchLaterCommand;
|
||||
removeFromWatchLaterCommand: RemoveFromWatchLaterCommand;
|
||||
}
|
||||
|
||||
export interface AddToWatchLaterCommand {
|
||||
clickTrackingParams: string;
|
||||
playlistEditEndpoint: AddToWatchLaterCommandPlaylistEditEndpoint;
|
||||
}
|
||||
|
||||
export interface AddToWatchLaterCommandPlaylistEditEndpoint {
|
||||
playlistId: string;
|
||||
actions: PurpleAction[];
|
||||
}
|
||||
|
||||
export interface PurpleAction {
|
||||
addedVideoId: string;
|
||||
action: string;
|
||||
}
|
||||
|
||||
export interface RemoveFromWatchLaterCommand {
|
||||
clickTrackingParams: string;
|
||||
playlistEditEndpoint: RemoveFromWatchLaterCommandPlaylistEditEndpoint;
|
||||
}
|
||||
|
||||
export interface RemoveFromWatchLaterCommandPlaylistEditEndpoint {
|
||||
playlistId: string;
|
||||
actions: FluffyAction[];
|
||||
}
|
||||
|
||||
export interface FluffyAction {
|
||||
action: string;
|
||||
removedVideoId: string;
|
||||
}
|
||||
|
||||
export interface SubscribeCommand {
|
||||
clickTrackingParams: string;
|
||||
subscribeEndpoint: SubscribeEndpoint;
|
||||
}
|
||||
|
||||
export interface SubscribeEndpoint {
|
||||
channelIds: string[];
|
||||
params: string;
|
||||
}
|
||||
|
||||
export interface UnsubscribeCommand {
|
||||
clickTrackingParams: string;
|
||||
unsubscribeEndpoint: SubscribeEndpoint;
|
||||
}
|
||||
|
||||
export interface ResponseContext {
|
||||
serviceTrackingParams: ServiceTrackingParam[];
|
||||
maxAgeSeconds: number;
|
||||
}
|
||||
|
||||
export interface ServiceTrackingParam {
|
||||
service: string;
|
||||
params: Param[];
|
||||
}
|
||||
|
||||
export interface Param {
|
||||
key: string;
|
||||
value: string;
|
||||
}
|
||||
|
||||
export interface Storyboards {
|
||||
playerStoryboardSpecRenderer: PlayerStoryboardSpecRenderer;
|
||||
}
|
||||
|
||||
export interface PlayerStoryboardSpecRenderer {
|
||||
spec: string;
|
||||
recommendedLevel: number;
|
||||
}
|
||||
|
||||
export interface StreamingData {
|
||||
expiresInSeconds: string;
|
||||
formats: Format[];
|
||||
adaptiveFormats: AdaptiveFormat[];
|
||||
}
|
||||
|
||||
export interface AdaptiveFormat {
|
||||
itag: number;
|
||||
mimeType: string;
|
||||
bitrate: number;
|
||||
width?: number;
|
||||
height?: number;
|
||||
initRange: Range;
|
||||
indexRange: Range;
|
||||
lastModified: string;
|
||||
contentLength: string;
|
||||
quality: string;
|
||||
fps?: number;
|
||||
qualityLabel?: string;
|
||||
projectionType: ProjectionType;
|
||||
averageBitrate: number;
|
||||
approxDurationMs: string;
|
||||
signatureCipher: string;
|
||||
colorInfo?: ColorInfo;
|
||||
highReplication?: boolean;
|
||||
audioQuality?: string;
|
||||
audioSampleRate?: string;
|
||||
audioChannels?: number;
|
||||
loudnessDb?: number;
|
||||
}
|
||||
|
||||
export interface ColorInfo {
|
||||
primaries: string;
|
||||
transferCharacteristics: string;
|
||||
}
|
||||
|
||||
export interface Range {
|
||||
start: string;
|
||||
end: string;
|
||||
}
|
||||
|
||||
export enum ProjectionType {
|
||||
Rectangular = 'RECTANGULAR',
|
||||
}
|
||||
|
||||
export interface Format {
|
||||
itag: number;
|
||||
mimeType: string;
|
||||
bitrate: number;
|
||||
width: number;
|
||||
height: number;
|
||||
lastModified: string;
|
||||
quality: string;
|
||||
fps: number;
|
||||
qualityLabel: string;
|
||||
projectionType: ProjectionType;
|
||||
audioQuality: string;
|
||||
approxDurationMs: string;
|
||||
audioSampleRate: string;
|
||||
audioChannels: number;
|
||||
signatureCipher: string;
|
||||
}
|
||||
|
||||
export interface GetPlayerResponseVideoDetails {
|
||||
videoId: string;
|
||||
title: string;
|
||||
lengthSeconds: string;
|
||||
channelId: string;
|
||||
isOwnerViewing: boolean;
|
||||
isCrawlable: boolean;
|
||||
thumbnail: ImageClass;
|
||||
allowRatings: boolean;
|
||||
viewCount: string;
|
||||
author: string;
|
||||
isPrivate: boolean;
|
||||
isUnpluggedCorpus: boolean;
|
||||
musicVideoType: string;
|
||||
isLiveContent: boolean;
|
||||
elapsedSeconds: number;
|
||||
isPaused: boolean;
|
||||
|
||||
// youtube-music only
|
||||
album?: string | null;
|
||||
}
|
||||
15
src/types/player-api-events.ts
Normal file
15
src/types/player-api-events.ts
Normal file
@ -0,0 +1,15 @@
|
||||
export interface PlayerAPIEvents {
|
||||
videodatachange: {
|
||||
value: Record<string, unknown> & {
|
||||
videoId: string
|
||||
title: string
|
||||
author: string
|
||||
|
||||
playlistId: string
|
||||
isUpcoming: boolean
|
||||
loading: boolean
|
||||
|
||||
lengthSeconds: number
|
||||
}
|
||||
} & ({ name: 'dataloaded' } | { name: 'dataupdated ' })
|
||||
}
|
||||
25
src/types/video-details.ts
Normal file
25
src/types/video-details.ts
Normal file
@ -0,0 +1,25 @@
|
||||
export interface VideoDetails {
|
||||
video_id: string;
|
||||
author: string;
|
||||
title: string;
|
||||
isPlayable: boolean;
|
||||
errorCode: null;
|
||||
video_quality: string;
|
||||
video_quality_features: unknown[];
|
||||
list: string;
|
||||
backgroundable: boolean;
|
||||
eventId: string;
|
||||
cpn: string;
|
||||
isLive: boolean;
|
||||
isWindowedLive: boolean;
|
||||
isManifestless: boolean;
|
||||
allowLiveDvr: boolean;
|
||||
isListed: boolean;
|
||||
isMultiChannelAudio: boolean;
|
||||
hasProgressBarBoundaries: boolean;
|
||||
isPremiere: boolean;
|
||||
itct: string;
|
||||
progressBarStartPositionUtcTimeMillis: number | null;
|
||||
progressBarEndPositionUtcTimeMillis: number | null;
|
||||
paidContentOverlayDurationMs: number;
|
||||
}
|
||||
225
src/types/youtube-player.ts
Normal file
225
src/types/youtube-player.ts
Normal file
@ -0,0 +1,225 @@
|
||||
// TODO: fully type definitions for youtube-player
|
||||
|
||||
import { VideoDetails } from './video-details';
|
||||
import { GetPlayerResponse } from './get-player-response';
|
||||
import { PlayerAPIEvents } from './player-api-events';
|
||||
|
||||
export interface YoutubePlayer {
|
||||
getInternalApiInterface: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getApiInterface: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
cueVideoByPlayerVars: () => void;
|
||||
loadVideoByPlayerVars: () => void;
|
||||
preloadVideoByPlayerVars: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getAdState: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
sendAbandonmentPing: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
setLoopRange: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getLoopRange: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
setAutonavState: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
seekToLiveHead: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
requestSeekToWallTimeSeconds: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
seekToStreamTime: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
startSeekCsiAction: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getStreamTimeOffset: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getVideoData: () => VideoDetails;
|
||||
setInlinePreview: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
updateDownloadState: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
queueOfflineAction: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
pauseVideoDownload: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
resumeVideoDownload: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
refreshAllStaleEntities: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
isOrchestrationLeader: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getAppState: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
updateLastActiveTime: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
setBlackout: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
setUserEngagement: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
updateSubtitlesUserSettings: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getPresentingPlayerType: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
canPlayType: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
updatePlaylist: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
updateVideoData: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
updateEnvironmentData: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
sendVideoStatsEngageEvent: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
productsInVideoVisibilityUpdated: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
setSafetyMode: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
isAtLiveHead: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getVideoAspectRatio: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getPreferredQuality: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getPlaybackQualityLabel: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
setPlaybackQualityRange: (quality: string) => void;
|
||||
onAdUxClicked: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getFeedbackProductData: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getStoryboardFrame: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getStoryboardFrameIndex: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getStoryboardLevel: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getNumberOfStoryboardLevels: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getCaptionWindowContainerId: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getAvailableQualityLabels: () => string[];
|
||||
addUtcCueRange: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
showAirplayPicker: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
dispatchReduxAction: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getPlayerResponse: () => GetPlayerResponse;
|
||||
getHeartbeatResponse: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
changeMarkerVisibility: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
setAutonav: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
isNotServable: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
channelSubscribed: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
channelUnsubscribed: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
togglePictureInPicture: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
supportsGaplessAudio: () => boolean;
|
||||
supportsGaplessShorts: () => boolean;
|
||||
enqueueVideoByPlayerVars: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
clearQueue: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getAudioTrack: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
setAudioTrack: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getAvailableAudioTracks: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getMaxPlaybackQuality: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getUserPlaybackQualityPreference: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getSubtitlesUserSettings: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
resetSubtitlesUserSettings: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
setMinimized: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
setOverlayVisibility: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
confirmYpcRental: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
toggleSubtitlesOn: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
isSubtitlesOn: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
queueNextVideo: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
handleExternalCall: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
logApiCall: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
isExternalMethodAvailable: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
setScreenLayer: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getCurrentPlaylistSequence: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getPlaylistSequenceForTime: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
shouldSendVisibilityState: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
syncVolume: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
highlightSettingsMenuItem: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
openSettingsMenuItem: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getVisibilityState: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
isMutedByMutedAutoplay: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
setGlobalCrop: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
setInternalSize: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
seekBy: (seconds: number) => void;
|
||||
showControls: () => void;
|
||||
hideControls: () => void;
|
||||
cancelPlayback: () => void;
|
||||
getProgressState: <Return>() => Return;
|
||||
isInline: () => boolean;
|
||||
setInline: (isInline: boolean) => void;
|
||||
setLoopVideo: (value: boolean) => void;
|
||||
getLoopVideo: () => boolean;
|
||||
getVideoContentRect: <Return>() => Return;
|
||||
getVideoStats: <Return>() => Return;
|
||||
getStoryboardFormat: <Return>() => Return;
|
||||
toggleFullscreen: <Return>() => Return;
|
||||
isFullscreen: () => boolean;
|
||||
getPlayerSize: <Return>() => Return;
|
||||
toggleSubtitles: () => void;
|
||||
setCenterCrop: <Parameter>(param: Parameter) => void;
|
||||
setFauxFullscreen: <Parameter>(param: Parameter) => void;
|
||||
setSizeStyle: <Parameter>(params: Parameter) => void;
|
||||
handleGlobalKeyDown: () => void;
|
||||
handleGlobalKeyUp: () => void;
|
||||
wakeUpControls: () => void;
|
||||
cueVideoById: (videoId: string) => void;
|
||||
loadVideoById: (videoId: string) => void;
|
||||
cueVideoByUrl: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
loadVideoByUrl: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
/**
|
||||
* Note: This doesn't resume playback, it plays from the start.
|
||||
*/
|
||||
playVideo: () => void;
|
||||
pauseVideo: () => void;
|
||||
stopVideo: () => void;
|
||||
clearVideo: () => void;
|
||||
getVideoBytesLoaded: () => number;
|
||||
getVideoBytesTotal: () => number;
|
||||
getVideoLoadedFraction: () => number;
|
||||
getVideoStartBytes: () => number;
|
||||
cuePlaylist: () => void;
|
||||
loadPlaylist: () => void;
|
||||
nextVideo: () => void;
|
||||
previousVideo: () => void;
|
||||
playVideoAt: () => void;
|
||||
setShuffle: <Parameter>(param: Parameter) => void;
|
||||
setLoop: <Parameter>(param: Parameter) => void;
|
||||
getPlaylist: <Return extends unknown[]>() => Return;
|
||||
getPlaylistIndex: () => number;
|
||||
getPlaylistId: () => string | undefined;
|
||||
loadModule: (moduleName: string) => void;
|
||||
unloadModule: (moduleName: string) => void;
|
||||
setOption: <T>(optionName: string, key: string, value: T) => void;
|
||||
getOption: <T>(optionName: string, key: string) => T | null | undefined;
|
||||
getOptions: () => string[];
|
||||
mute: () => void;
|
||||
unMute: () => void;
|
||||
isMuted: () => boolean;
|
||||
/**
|
||||
* @param volume 0-100
|
||||
*/
|
||||
setVolume: (volume: number) => void;
|
||||
getVolume: () => number;
|
||||
seekTo: (seconds: number) => void;
|
||||
getPlayerMode: <Return>() => Return;
|
||||
getPlayerState: () => number;
|
||||
getAvailablePlaybackRates: () => number[];
|
||||
getPlaybackQuality: () => string;
|
||||
setPlaybackQuality: (quality: string) => void;
|
||||
getAvailableQualityLevels: () => string[];
|
||||
/**
|
||||
* @return float between start and end in seconds
|
||||
*/
|
||||
getCurrentTime: () => number;
|
||||
/**
|
||||
* @return int song duration in seconds
|
||||
*/
|
||||
getDuration: () => number;
|
||||
addEventListener: <K extends keyof PlayerAPIEvents>(
|
||||
type: K,
|
||||
listener: (
|
||||
this: Document,
|
||||
name: PlayerAPIEvents[K]['name'],
|
||||
data: PlayerAPIEvents[K]['value']
|
||||
) => void,
|
||||
options?: boolean | AddEventListenerOptions | undefined,
|
||||
) => void;
|
||||
removeEventListener: <K extends keyof PlayerAPIEvents>(
|
||||
type: K,
|
||||
listener: (
|
||||
this: Document,
|
||||
name: PlayerAPIEvents[K]['name'],
|
||||
data: PlayerAPIEvents[K]['value']
|
||||
) => void,
|
||||
options?: boolean | EventListenerOptions | undefined,
|
||||
) => void;
|
||||
getDebugText: () => string;
|
||||
addCueRange: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
removeCueRange: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
setSize: (size: { width: number; height: number }) => void;
|
||||
destroy: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getSphericalProperties: <Return>() => Return;
|
||||
setSphericalProperties: <Parameter>(param: Parameter) => void;
|
||||
mutedAutoplay: () => void;
|
||||
/**
|
||||
* @return string HTMLIFrameElement
|
||||
*/
|
||||
getVideoEmbedCode: () => string;
|
||||
/**
|
||||
* @return string full URL of the video (include playlist id)
|
||||
*/
|
||||
getVideoUrl: () => string;
|
||||
getMediaReferenceTime: () => number;
|
||||
getSize: () => { width: number; height: number };
|
||||
logImaAdEvent: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
preloadVideoById: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
setAccountLinkState: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
updateAccountLinkingConfig: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getAvailableQualityData: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
setCompositeParam: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
getStatsForNerds: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
showVideoInfo: () => void;
|
||||
hideVideoInfo: () => void;
|
||||
isVideoInfoVisible: () => boolean;
|
||||
getPlaybackRate: () => number;
|
||||
setPlaybackRate: (playbackRate: number) => void;
|
||||
updateFullerscreenEduButtonSubtleModeState: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
updateFullerscreenEduButtonVisibility: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
addEmbedsConversionTrackingParams: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
|
||||
}
|
||||
Reference in New Issue
Block a user