forked from EXT/VR180-Web-Player
added image support
This commit is contained in:
@@ -6,6 +6,7 @@ import {
|
||||
showFallbackCanvas
|
||||
} from '../rendering/renderer-lifecycle.js';
|
||||
import { TwoDControlPanel } from '../dom/two-d-control-panel.js';
|
||||
import type { MediaCapabilities } from '../media/media-adapter.js';
|
||||
|
||||
type TwoDModeCallbacks = {
|
||||
createMediaTexture: () => any;
|
||||
@@ -21,6 +22,7 @@ type TwoDModeCallbacks = {
|
||||
type TwoDModeOptions = {
|
||||
callbacks: TwoDModeCallbacks;
|
||||
fullscreenTarget: HTMLElement;
|
||||
mediaCapabilities: MediaCapabilities;
|
||||
getActiveContentMesh: () => any;
|
||||
getCamera: () => any;
|
||||
getCameraControls: () => FallbackCameraControls | undefined;
|
||||
@@ -40,6 +42,7 @@ export class TwoDMode {
|
||||
private readonly callbacks: TwoDModeCallbacks;
|
||||
private readonly controls: TwoDControlPanel;
|
||||
private readonly fullscreenTarget: HTMLElement;
|
||||
private readonly mediaCapabilities: MediaCapabilities;
|
||||
private readonly getActiveContentMesh: () => any;
|
||||
private readonly getCamera: () => any;
|
||||
private readonly getCameraControls: () => FallbackCameraControls | undefined;
|
||||
@@ -55,6 +58,7 @@ export class TwoDMode {
|
||||
constructor(options: TwoDModeOptions) {
|
||||
this.callbacks = options.callbacks;
|
||||
this.fullscreenTarget = options.fullscreenTarget;
|
||||
this.mediaCapabilities = options.mediaCapabilities;
|
||||
this.getActiveContentMesh = options.getActiveContentMesh;
|
||||
this.getCamera = options.getCamera;
|
||||
this.getCameraControls = options.getCameraControls;
|
||||
@@ -82,6 +86,7 @@ export class TwoDMode {
|
||||
this.callbacks.seekToProgress(progress);
|
||||
}
|
||||
},
|
||||
mediaCapabilities: this.mediaCapabilities,
|
||||
fullscreenTarget: this.fullscreenTarget,
|
||||
getIsActive: () => this.active,
|
||||
playerContainer: this.playerContainer,
|
||||
@@ -120,7 +125,9 @@ export class TwoDMode {
|
||||
this.callbacks.showActiveContentMesh();
|
||||
}
|
||||
|
||||
this.callbacks.togglePlayPause();
|
||||
if (this.mediaCapabilities.playback) {
|
||||
this.callbacks.togglePlayPause();
|
||||
}
|
||||
this.addEventListeners(canvas);
|
||||
this.controls.show();
|
||||
this.positionControls();
|
||||
@@ -172,6 +179,7 @@ export class TwoDMode {
|
||||
|
||||
updateTimeline(): void {
|
||||
if (!this.active) return;
|
||||
if (!this.mediaCapabilities.timeline) return;
|
||||
|
||||
const video = this.getVideo();
|
||||
if (video) {
|
||||
@@ -181,6 +189,7 @@ export class TwoDMode {
|
||||
|
||||
updatePlaybackButton(): void {
|
||||
if (!this.active) return;
|
||||
if (!this.mediaCapabilities.playback) return;
|
||||
|
||||
const video = this.getVideo();
|
||||
if (video) {
|
||||
@@ -190,6 +199,7 @@ export class TwoDMode {
|
||||
|
||||
updateMuteButton(): void {
|
||||
if (!this.active) return;
|
||||
if (!this.mediaCapabilities.audio) return;
|
||||
|
||||
const video = this.getVideo();
|
||||
if (video) {
|
||||
@@ -199,6 +209,7 @@ export class TwoDMode {
|
||||
|
||||
handleVideoEnd(): void {
|
||||
if (!this.active) return;
|
||||
if (!this.mediaCapabilities.playback) return;
|
||||
|
||||
this.controls.showPersistent();
|
||||
this.updatePlaybackButton();
|
||||
|
||||
Reference in New Issue
Block a user