@realsee/vreo 0.2.0-alpha.18 → 0.2.0-alpha.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/docs/assets/search.js +1 -1
  3. package/docs/classes/Player.AudioLike.html +2 -2
  4. package/docs/classes/Player.Controller.html +9 -9
  5. package/docs/classes/Player.Player-1.html +9 -9
  6. package/docs/classes/Player.VideoAgentMesh.html +11 -11
  7. package/docs/classes/Player.VideoAgentScene.html +1 -1
  8. package/docs/demo/assets/{AppReact.10c53460.js → AppReact.ec0a6e82.js} +1 -1
  9. package/docs/demo/assets/{default.03c59a9e.js → default.a5d6dd99.js} +2 -2
  10. package/docs/demo/assets/{dynamic.74fff6a1.js → dynamic.8c30b7ae.js} +1 -1
  11. package/docs/demo/assets/{examples.b3de04c9.js → examples.ddb41c97.js} +2 -2
  12. package/docs/demo/assets/{index.d79aab1a.js → index.fc42be2b.js} +1 -1
  13. package/docs/demo/assets/{main.4104126d.js → main.d119ebf7.js} +1 -1
  14. package/docs/demo/assets/{react.465bd89e.js → react.2d403aee.js} +1 -1
  15. package/docs/demo/examples.html +2 -2
  16. package/docs/demo/index-react-dynamic.html +4 -4
  17. package/docs/demo/index-react.html +4 -4
  18. package/docs/demo/index.html +3 -3
  19. package/docs/enums/Player.InfoPanelStyleEnum.html +1 -1
  20. package/docs/enums/Player.InfoPanelTypeEnum.html +1 -1
  21. package/docs/enums/Player.PanoEffectEnum.html +1 -1
  22. package/docs/enums/Player.PanoTagEnum.html +1 -1
  23. package/docs/enums/Player.PanoTagStyleEnum.html +2 -2
  24. package/docs/enums/Player.VreoKeyframeEnum.html +12 -12
  25. package/docs/enums/fivePlugins.CameraMovementEffect.html +1 -1
  26. package/docs/enums/fivePlugins.Rotation.html +1 -1
  27. package/docs/interfaces/Player.CustomVreoKeyframeProps.html +1 -1
  28. package/docs/interfaces/Player.PlayerConfigs.html +2 -2
  29. package/docs/interfaces/Player.Vertex.html +1 -1
  30. package/docs/interfaces/Player.VideoAgentMeshOptions.html +3 -3
  31. package/docs/interfaces/Player.VreoKeyframe.html +1 -1
  32. package/docs/interfaces/Player.VreoUnit.html +1 -1
  33. package/docs/interfaces/Player.VreoVideo.html +1 -1
  34. package/docs/interfaces/fivePlugins.CSS3DRenderPluginExportType.html +2 -2
  35. package/docs/interfaces/fivePlugins.CameraMovementOptsCallback.html +1 -1
  36. package/docs/interfaces/fivePlugins.CameraMovementPluginExportType.html +2 -2
  37. package/docs/interfaces/fivePlugins.ModelTVVideoPluginData.html +1 -1
  38. package/docs/interfaces/fivePlugins.ModelTVVideoPluginExportType.html +1 -1
  39. package/docs/interfaces/fivePlugins.ModelTVVideoPluginParameterType.html +1 -1
  40. package/docs/interfaces/fivePlugins.Vector3Position.html +1 -1
  41. package/docs/interfaces/react.VreoActionCallbacks.html +6 -6
  42. package/docs/interfaces/react.VreoProviderProps.html +1 -1
  43. package/docs/modules/Player.html +16 -16
  44. package/docs/modules/custom.html +1 -1
  45. package/docs/modules/fivePlugins.html +3 -3
  46. package/docs/modules/react.html +1 -1
  47. package/lib/Player/Controller.d.ts +2 -0
  48. package/lib/Player/Controller.js +21 -2
  49. package/lib/Player/index.d.ts +1 -0
  50. package/lib/Player/index.js +18 -4
  51. package/lib/Player/modules/VideoAgent/VideoAgentMesh.js +12 -4
  52. package/lib/typings/VreoUnit.d.ts +1 -0
  53. package/package.json +3 -2
  54. package/resources/Player/Controller.ts +149 -129
  55. package/resources/Player/index.tsx +176 -161
  56. package/resources/Player/modules/VideoAgent/VideoAgentMesh.ts +6 -1
  57. package/resources/typings/VreoUnit.ts +2 -0
@@ -74,7 +74,7 @@ export interface VideoAgentMeshOptions {
74
74
  audioInstance?: HTMLAudioElement
75
75
  /**
76
76
  * 是否开启音频预载能力。**仅对`.mp3`有效**。
77
- *
77
+ *
78
78
  * @description 开启预载能力后会通过 `Fetch/XHR` 方式将音频文件下载转成二进制 [`Blob`](https://developer.mozilla.org/zh-CN/docs/Web/API/Blob) 提供给多媒体实例。这样的好处是 **能够保障音视频播放过程中不卡顿**。 但在部分 iOS 系统中会存在兼容问题——播 25s 之后会静音(`muted` 为 `false`,但是没有声音)。
79
79
  */
80
80
  preload?: boolean
@@ -184,6 +184,9 @@ export class VideoAgentMesh extends THREE.Mesh {
184
184
  const updatePaused = (paused: boolean) => runInAction(() => (this.paused = paused))
185
185
  const onPause = () => updatePaused(true)
186
186
  const onPlay = () => updatePaused(false)
187
+ const onEnded = () => {
188
+ console.log('vreo: video 播放结束')
189
+ }
187
190
 
188
191
  this.audioInstance.addEventListener('pause', onPause)
189
192
  this.audioInstance.addEventListener('play', onPlay)
@@ -191,6 +194,7 @@ export class VideoAgentMesh extends THREE.Mesh {
191
194
  this.options.videoInstance?.addEventListener('play', onPlay)
192
195
  this.audioLikeInstance.addEventListener('pause', onPause)
193
196
  this.audioLikeInstance.addEventListener('play', onPlay)
197
+ this.options.videoInstance?.addEventListener('ended', onEnded)
194
198
 
195
199
  this.$removeEventListener = () => {
196
200
  this.audioInstance.removeEventListener('pause', onPause)
@@ -199,6 +203,7 @@ export class VideoAgentMesh extends THREE.Mesh {
199
203
  this.options.videoInstance?.removeEventListener('play', onPlay)
200
204
  this.audioLikeInstance.removeEventListener('pause', onPause)
201
205
  this.audioLikeInstance.removeEventListener('play', onPlay)
206
+ this.options.videoInstance?.removeEventListener('ended', onEnded)
202
207
  }
203
208
  }
204
209
 
@@ -109,6 +109,8 @@ export type VreoKeyframeEvent = { [key in VreoKeyframeEnum]: (keyframe: VreoKeyf
109
109
  playing: () => void
110
110
  // 未知的 剧本帧类型
111
111
  unknownKeyframeType: (keyframe: Record<string, any>) => void
112
+ // 一次播放完成(试用,只抛事件不做任何额外的逻辑处理)
113
+ ended: () => void
112
114
  }
113
115
 
114
116
  /**