VideoSceneModel.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { makeAutoObservable } from "mobx";
  2. import { EventBus } from "@dage/utils";
  3. export class VideoSceneModel {
  4. constructor() {
  5. this.event = new EventBus();
  6. /**
  7. * 播放中
  8. * @default true
  9. */
  10. this.playing = true;
  11. makeAutoObservable(this);
  12. }
  13. /** 播放 */
  14. play() {
  15. var _a;
  16. (_a = window.ReactKrpanoActionProxy) === null || _a === void 0 ? void 0 : _a.call("plugin[video].play()");
  17. }
  18. /** 暂停 */
  19. pause() {
  20. var _a;
  21. (_a = window.ReactKrpanoActionProxy) === null || _a === void 0 ? void 0 : _a.call("plugin[video].pause()");
  22. }
  23. }
  24. export const videoSceneModel = new VideoSceneModel();
  25. window.onVideoSceneReady = () => {
  26. videoSceneModel.event.emit("Event.videoScene.ready", undefined);
  27. };
  28. window.onVideoScenePlay = () => {
  29. videoSceneModel.playing = true;
  30. videoSceneModel.event.emit("Event.videoScene.play", undefined);
  31. };
  32. window.onVideoScenePaused = () => {
  33. videoSceneModel.playing = false;
  34. videoSceneModel.event.emit("Event.videoScene.pause", undefined);
  35. };
  36. window.onVideoSceneComplete = () => {
  37. videoSceneModel.event.emit("Event.videoScene.complete", undefined);
  38. };
  39. window.onVideoSceneError = (error) => {
  40. videoSceneModel.event.emit("Event.videoScene.error", error);
  41. };