@shijiu/jsview-vue 2.3.151-test.0 → 3.0.0-test.0

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 (244) hide show
  1. package/bin/browser/BrowserAudio.mjs +200 -0
  2. package/bin/browser/BrowserJsvLatex.mjs +61 -0
  3. package/bin/export-sfc.mjs +8 -9
  4. package/bin/jsview-vue-common.mjs +9 -35
  5. package/bin/jsview-vue.mjs +22246 -23643
  6. package/bin/types/utils/JsViewEngineWidget/JsvFocus/JsvFocusBlock.vue.d.ts +9 -71
  7. package/bin/types/utils/JsViewEngineWidget/JsvFocus/JsvFocusHub.d.ts +18 -2
  8. package/bin/types/utils/JsViewEngineWidget/MetroWidget/Const.d.ts +4 -1
  9. package/bin/types/utils/JsViewEngineWidget/MetroWidget/DebugFrame.vue.d.ts +10 -7
  10. package/bin/types/utils/JsViewEngineWidget/MetroWidget/ListWidget.vue.d.ts +19 -178
  11. package/bin/types/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue.d.ts +19 -178
  12. package/bin/types/utils/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.d.ts +24 -3
  13. package/bin/types/utils/JsViewEngineWidget/MetroWidget/PageUpdater.d.ts +7 -1
  14. package/bin/types/utils/JsViewEngineWidget/MetroWidget/RenderItem.d.ts +25 -5
  15. package/bin/types/utils/JsViewEngineWidget/MetroWidget/SlotComponent.vue.d.ts +9 -47
  16. package/bin/types/utils/JsViewEngineWidget/MetroWidget/TaskManager.d.ts +2 -1
  17. package/bin/types/utils/JsViewEngineWidget/MetroWidget/Utils.d.ts +2 -0
  18. package/bin/types/utils/JsViewEngineWidget/MetroWidget/WidgetRectInfo.d.ts +1 -1
  19. package/bin/types/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavProvider.vue.d.ts +40 -0
  20. package/bin/types/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigationAlgorithm.d.ts +24 -0
  21. package/bin/types/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigationNode.d.ts +19 -0
  22. package/bin/types/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigator.d.ts +42 -0
  23. package/bin/types/utils/JsViewEngineWidget/TemplateParser/CommonMetroTemplate.d.ts +2 -1
  24. package/bin/types/utils/JsViewEngineWidget/TemplateParser/ListMetroTemplate.d.ts +2 -1
  25. package/bin/types/utils/JsViewEngineWidget/TemplateParser/MetroTemplate.d.ts +6 -4
  26. package/bin/types/utils/JsViewEngineWidget/TemplateParser/TemplateItemAdder.d.ts +9 -7
  27. package/bin/types/utils/JsViewEngineWidget/WidgetCommon.d.ts +17 -7
  28. package/bin/types/utils/JsViewEngineWidget/index.d.ts +3 -1
  29. package/bin/types/utils/JsViewPlugin/JsvAudio/BrowserAudio/BrowserAudio.vue.d.ts +140 -7
  30. package/bin/types/utils/JsViewPlugin/JsvAudio/BrowserAudio/JsvSystemAudio.vue.d.ts +12 -11
  31. package/bin/types/utils/JsViewPlugin/JsvAudio/Events.d.ts +10 -10
  32. package/bin/types/utils/JsViewPlugin/JsvAudio/JsvAudio.vue.d.ts +204 -17
  33. package/bin/types/utils/JsViewPlugin/JsvAudio/JsvAudioProxy.vue.d.ts +2 -1
  34. package/bin/types/utils/JsViewPlugin/JsvAudio/version.d.mts +11 -11
  35. package/bin/types/utils/JsViewPlugin/JsvAudio/version.d.ts +11 -11
  36. package/bin/types/utils/JsViewPlugin/JsvLatex/BrowserDomBuilder.d.ts +0 -1
  37. package/bin/types/utils/JsViewPlugin/JsvLatex/BrowserJsvLatex.vue.d.ts +75 -12
  38. package/bin/types/utils/JsViewPlugin/JsvLatex/GetVersion.d.ts +14 -0
  39. package/bin/types/utils/JsViewPlugin/JsvLatex/JsvLatex.vue.d.ts +88 -13
  40. package/bin/types/utils/JsViewPlugin/JsvLatex/JsvLatexBridgeProxy.d.ts +1 -0
  41. package/bin/types/utils/JsViewPlugin/JsvLatex/JsvLatexProxy.vue.d.ts +5 -1
  42. package/bin/types/utils/JsViewPlugin/JsvLatex/version.d.mts +39 -12
  43. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvMedia.d.ts +120 -17
  44. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvMediaBrowserInterface.d.ts +62 -0
  45. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvPlayer.vue.d.ts +108 -29
  46. package/bin/types/utils/JsViewPlugin/JsvPlayer/{BrowserJsvPlayer-0.9.vue.d.ts → JsvPlayerBrowser-0.9.vue.d.ts} +8 -7
  47. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvPlayerBrowser-wasm.vue.d.ts +614 -0
  48. package/bin/types/utils/JsViewPlugin/JsvPlayer/{BrowserJsvPlayer.vue.d.ts → JsvPlayerBrowser.vue.d.ts} +36 -34
  49. package/bin/types/utils/JsViewPlugin/JsvPlayer/index-0.9.d.ts +89 -30
  50. package/bin/types/utils/JsViewPlugin/JsvPlayer/index.d.ts +89 -30
  51. package/bin/types/utils/JsViewPlugin/JsvPlayer/version.d.mts +11 -11
  52. package/bin/types/utils/JsViewVueTools/BlobApi.d.ts +38 -0
  53. package/bin/types/utils/JsViewVueTools/DebugTool.d.ts +1 -1
  54. package/bin/types/utils/JsViewVueTools/DefaultKeyMap.d.ts +7 -7
  55. package/bin/types/utils/JsViewVueTools/FeatureActive.d.ts +1 -0
  56. package/bin/types/utils/JsViewVueTools/JsvInteractionMode.d.ts +6 -0
  57. package/bin/types/utils/JsViewVueTools/JsvRuntimeBridge.d.ts +3 -3
  58. package/bin/types/utils/JsViewVueTools/JsvTextTools.d.ts +1 -0
  59. package/bin/types/utils/JsViewVueTools/JsvTextureStore/BitPalette/BitPalette.d.ts +43 -0
  60. package/bin/types/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/CommandList.d.ts +1 -0
  61. package/bin/types/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/DrawHelper.d.ts +54 -0
  62. package/bin/types/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/Path.d.ts +13 -0
  63. package/bin/types/utils/JsViewVueTools/JsvTextureStore/CapturedTexture/CapturedTexture.d.ts +2 -0
  64. package/bin/types/utils/JsViewVueTools/JsvTextureStore/JsvTextureStore.d.ts +76 -26
  65. package/bin/types/utils/JsViewVueTools/JsvTextureStore/TextureBuilder.d.ts +49 -0
  66. package/bin/types/utils/JsViewVueTools/JsvTextureStore/index.d.ts +2 -0
  67. package/bin/types/utils/JsViewVueTools/index.d.ts +4 -1
  68. package/bin/types/utils/JsViewVueWidget/Jsv3dDiv.vue.d.ts +10 -98
  69. package/bin/types/utils/JsViewVueWidget/Jsv3dStage.vue.d.ts +10 -114
  70. package/bin/types/utils/JsViewVueWidget/JsvActorMove/JsvActorMove.vue.d.ts +20 -61
  71. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic/BrowserApic.vue.d.ts +44 -13
  72. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic/JsvApic.vue.d.ts +12 -11
  73. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic/index.d.ts +5 -5
  74. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic2/BrowserApic2.vue.d.ts +16 -10
  75. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic2/JsvApic2.vue.d.ts +21 -17
  76. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic2/index.d.ts +19 -16
  77. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvCommonLoopToolBase.d.ts +7 -7
  78. package/bin/types/utils/JsViewVueWidget/JsvClipDiv/JsvClipDiv.vue.d.ts +12 -66
  79. package/bin/types/utils/JsViewVueWidget/JsvConnectLine/JsvConnectLine.vue.d.ts +73 -12
  80. package/bin/types/utils/JsViewVueWidget/JsvDashPath.vue.d.ts +59 -10
  81. package/bin/types/utils/JsViewVueWidget/JsvDragBox/JsvDragBox.vue.d.ts +41 -81
  82. package/bin/types/utils/JsViewVueWidget/JsvDriftScope/JsvDriftScope.vue.d.ts +17 -100
  83. package/bin/types/utils/JsViewVueWidget/JsvEnableRenderBreak.vue.d.ts +13 -50
  84. package/bin/types/utils/JsViewVueWidget/JsvFilterView.vue.d.ts +50 -70
  85. package/bin/types/utils/JsViewVueWidget/JsvFlexCell/JsvFlexDiv.vue.d.ts +32 -68
  86. package/bin/types/utils/JsViewVueWidget/JsvFlexCell/JsvFullScrAdjust.vue.d.ts +57 -74
  87. package/bin/types/utils/JsViewVueWidget/JsvFlexCell/JsvScreenFlex.vue.d.ts +41 -71
  88. package/bin/types/utils/JsViewVueWidget/JsvFragShaderView/JsvFragShaderView.vue.d.ts +83 -14
  89. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/ActorControl.d.ts +151 -18
  90. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/JsvEnvBlocker.vue.d.ts +79 -83
  91. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/JsvFreeMoveActor.vue.d.ts +70 -0
  92. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/SetAction.d.ts +20 -0
  93. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/SetCondition.d.ts +108 -5
  94. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/SetState.d.ts +88 -3
  95. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/index.d.ts +6 -1
  96. package/bin/types/utils/JsViewVueWidget/JsvGrid.vue.d.ts +19 -18
  97. package/bin/types/utils/JsViewVueWidget/JsvInput/Cursor.vue.d.ts +34 -11
  98. package/bin/types/utils/JsViewVueWidget/JsvInput/EditViewOperator.d.ts +4 -1
  99. package/bin/types/utils/JsViewVueWidget/JsvInput/JsvInput.vue.d.ts +193 -6
  100. package/bin/types/utils/JsViewVueWidget/JsvLine/JsvLine.vue.d.ts +54 -11
  101. package/bin/types/utils/JsViewVueWidget/JsvMarquee.vue.d.ts +89 -11
  102. package/bin/types/utils/JsViewVueWidget/JsvMaskClipDiv.vue.d.ts +9 -8
  103. package/bin/types/utils/JsViewVueWidget/JsvMindMap/Geometry.d.ts +2 -2
  104. package/bin/types/utils/JsViewVueWidget/JsvMindMap/JsvMindMap.vue.d.ts +170 -138
  105. package/bin/types/utils/JsViewVueWidget/JsvMindMap/rtree.d.ts +5 -5
  106. package/bin/types/utils/JsViewVueWidget/JsvNativeSharedDiv.vue.d.ts +48 -72
  107. package/bin/types/utils/JsViewVueWidget/JsvNinePatch.vue.d.ts +139 -20
  108. package/bin/types/utils/JsViewVueWidget/JsvPieChart.vue.d.ts +56 -8
  109. package/bin/types/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue.d.ts +20 -11
  110. package/bin/types/utils/JsViewVueWidget/JsvProgressBar.vue.d.ts +63 -11
  111. package/bin/types/utils/JsViewVueWidget/JsvQrcode/JsvQrcode.vue.d.ts +8 -7
  112. package/bin/types/utils/JsViewVueWidget/JsvRadarChart.vue.d.ts +95 -12
  113. package/bin/types/utils/JsViewVueWidget/JsvRipple/Constant.d.ts +2 -2
  114. package/bin/types/utils/JsViewVueWidget/JsvRipple/JsvRipple.vue.d.ts +51 -78
  115. package/bin/types/utils/JsViewVueWidget/JsvScaleTextBox.vue.d.ts +5 -4
  116. package/bin/types/utils/JsViewVueWidget/JsvScrollBox/JsvScrollBox.vue.d.ts +84 -193
  117. package/bin/types/utils/JsViewVueWidget/JsvScrollBox/JsvScrollFollow.vue.d.ts +23 -148
  118. package/bin/types/utils/JsViewVueWidget/JsvSector.vue.d.ts +56 -9
  119. package/bin/types/utils/JsViewVueWidget/JsvSmoothSlideContainer.vue.d.ts +22 -67
  120. package/bin/types/utils/JsViewVueWidget/JsvSpray/JsvSpray.vue.d.ts +44 -10
  121. package/bin/types/utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteAnim.vue.d.ts +47 -14
  122. package/bin/types/utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteLoader.vue.d.ts +26 -67
  123. package/bin/types/utils/JsViewVueWidget/JsvSwiper/Indicator.vue.d.ts +7 -6
  124. package/bin/types/utils/JsViewVueWidget/JsvSwiper/JsvSmoothSwiper.vue.d.ts +147 -109
  125. package/bin/types/utils/JsViewVueWidget/JsvSwiper/JsvSwiper.vue.d.ts +173 -16
  126. package/bin/types/utils/JsViewVueWidget/JsvSwiper/JsvSwiper2.vue.d.ts +216 -139
  127. package/bin/types/utils/JsViewVueWidget/JsvSwiper3D/Indicator.vue.d.ts +7 -6
  128. package/bin/types/utils/JsViewVueWidget/JsvSwiper3D/JsvSwiper.vue.d.ts +101 -96
  129. package/bin/types/utils/JsViewVueWidget/JsvTextBox.vue.d.ts +89 -74
  130. package/bin/types/utils/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue.d.ts +21 -20
  131. package/bin/types/utils/JsViewVueWidget/JsvTouchModeSwitcher.vue.d.ts +43 -70
  132. package/bin/types/utils/JsViewVueWidget/JsvVideo.vue.d.ts +6 -5
  133. package/bin/types/utils/JsViewVueWidget/JsvVisibleSensor/JsvVisibleSensor.vue.d.ts +62 -82
  134. package/bin/types/utils/JsViewVueWidget/JsvVisibleSensor/index.d.ts +95 -74
  135. package/bin/types/utils/JsViewVueWidget/TypesDiv/JsvPosterDiv.vue.d.ts +51 -0
  136. package/bin/types/utils/JsViewVueWidget/TypesDiv/JsvPosterImage.vue.d.ts +105 -0
  137. package/bin/types/utils/JsViewVueWidget/TypesDiv/JsvSmartDiv.vue.d.ts +51 -0
  138. package/bin/types/utils/JsViewVueWidget/TypesDiv/JsvSmartImage.vue.d.ts +105 -0
  139. package/bin/types/utils/JsViewVueWidget/index.d.ts +5 -3
  140. package/package.json +2 -2
  141. package/tools/jsview-vue-build.mjs +13 -9
  142. package/tsconfig.json +2 -2
  143. package/utils/JsViewEngineWidget/JsvFocus/JsvFocusBlock.vue +32 -16
  144. package/utils/JsViewEngineWidget/JsvFocus/JsvFocusHub.ts +24 -2
  145. package/utils/JsViewEngineWidget/MetroWidget/Const.ts +5 -0
  146. package/utils/JsViewEngineWidget/MetroWidget/ListWidget.vue +183 -89
  147. package/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue +269 -122
  148. package/utils/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.js +989 -357
  149. package/utils/JsViewEngineWidget/MetroWidget/PageUpdater.ts +41 -23
  150. package/utils/JsViewEngineWidget/MetroWidget/RenderItem.ts +138 -41
  151. package/utils/JsViewEngineWidget/MetroWidget/TaskManager.ts +1 -0
  152. package/utils/JsViewEngineWidget/MetroWidget/Utils.ts +6 -0
  153. package/utils/JsViewEngineWidget/MetroWidget/WidgetRectInfo.ts +2 -1
  154. package/utils/JsViewEngineWidget/RectUtils.js +1 -1
  155. package/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavProvider.vue +50 -0
  156. package/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigationAlgorithm.ts +260 -0
  157. package/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigationNode.ts +32 -0
  158. package/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigator.ts +236 -0
  159. package/utils/JsViewEngineWidget/TemplateParser/CommonMetroTemplate.ts +342 -174
  160. package/utils/JsViewEngineWidget/TemplateParser/ListMetroTemplate.ts +101 -27
  161. package/utils/JsViewEngineWidget/TemplateParser/MetroTemplate.ts +12 -5
  162. package/utils/JsViewEngineWidget/TemplateParser/TemplateItemAdder.ts +109 -41
  163. package/utils/JsViewEngineWidget/WidgetCommon.ts +17 -7
  164. package/utils/JsViewEngineWidget/index.ts +7 -2
  165. package/utils/JsViewPlugin/JsvLatex/BrowserDomBuilder.js +46 -46
  166. package/utils/JsViewPlugin/JsvLatex/BrowserJsvLatex.vue +54 -41
  167. package/utils/JsViewPlugin/JsvLatex/GetVersion.js +65 -0
  168. package/utils/JsViewPlugin/JsvLatex/JsvLatex.vue +54 -12
  169. package/utils/JsViewPlugin/JsvLatex/JsvLatexBridgeProxy.js +10 -0
  170. package/utils/JsViewPlugin/JsvLatex/JsvLatexProxy.vue +15 -2
  171. package/utils/JsViewPlugin/JsvLatex/PluginLoader.js +63 -31
  172. package/utils/JsViewPlugin/JsvLatex/version.mjs +26 -13
  173. package/utils/JsViewPlugin/JsvPlayer/GetVersion.js +2 -1
  174. package/utils/JsViewPlugin/JsvPlayer/JsvMedia.js +402 -23
  175. package/utils/JsViewPlugin/JsvPlayer/JsvMediaBrowserInterface.js +100 -0
  176. package/utils/JsViewPlugin/JsvPlayer/JsvPlayer.vue +363 -468
  177. package/utils/JsViewPlugin/JsvPlayer/{BrowserJsvPlayer.vue → JsvPlayerBrowser-wasm.vue} +60 -10
  178. package/utils/JsViewPlugin/JsvPlayer/JsvPlayerBrowser.vue +511 -0
  179. package/utils/JsViewPlugin/JsvPlayer/index-0.9.js +52 -10
  180. package/utils/JsViewPlugin/JsvPlayer/index.js +58 -9
  181. package/utils/JsViewPlugin/JsvPlayer/package.json +8 -0
  182. package/utils/JsViewVueTools/BlobApi.ts +55 -0
  183. package/utils/JsViewVueTools/FeatureActive.ts +3 -0
  184. package/utils/JsViewVueTools/ForgeHandles.ts +3 -0
  185. package/utils/JsViewVueTools/JsvInteractionMode.js +16 -0
  186. package/utils/JsViewVueTools/JsvPreDownloader.ts +2 -2
  187. package/utils/JsViewVueTools/JsvRuntimeBridge.js +25 -18
  188. package/utils/JsViewVueTools/JsvTextTools.ts +9 -1
  189. package/utils/JsViewVueTools/JsvTextureStore/BitPalette/BitPalette.ts +180 -0
  190. package/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/CommandList.ts +1 -0
  191. package/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/DrawHelper.ts +304 -0
  192. package/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/Path.ts +38 -0
  193. package/utils/JsViewVueTools/JsvTextureStore/CapturedTexture/CapturedTexture.ts +16 -1
  194. package/utils/JsViewVueTools/JsvTextureStore/JsvTextureStore.ts +154 -69
  195. package/utils/JsViewVueTools/JsvTextureStore/Store.ts +1 -1
  196. package/utils/JsViewVueTools/JsvTextureStore/TextureBuilder.ts +92 -0
  197. package/utils/JsViewVueTools/JsvTextureStore/index.js +2 -0
  198. package/utils/JsViewVueTools/index.js +3 -1
  199. package/utils/JsViewVueWidget/JsvApic/JsvApic2/JsvApic2.vue +111 -86
  200. package/utils/JsViewVueWidget/JsvClipDiv/JsvClipDiv.vue +1 -1
  201. package/utils/JsViewVueWidget/JsvDragBox/JsvDragBox.vue +11 -2
  202. package/utils/JsViewVueWidget/JsvDriftScope/JsvDriftScope.vue +1 -1
  203. package/utils/JsViewVueWidget/JsvEnableRenderBreak.vue +6 -0
  204. package/utils/JsViewVueWidget/JsvFlexCell/JsvFlexDiv.vue +11 -5
  205. package/utils/JsViewVueWidget/JsvFlexCell/JsvScreenFlex.vue +3 -1
  206. package/utils/JsViewVueWidget/JsvFragShaderView/JsvFragShaderView.vue +23 -11
  207. package/utils/JsViewVueWidget/JsvFreeMoveActor/ActorControl.ts +242 -25
  208. package/utils/JsViewVueWidget/JsvFreeMoveActor/{FreeMoveActor.vue → JsvFreeMoveActor.vue} +1 -1
  209. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetAction.ts +11 -5
  210. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetCondition.ts +118 -6
  211. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetState.ts +56 -14
  212. package/utils/JsViewVueWidget/JsvFreeMoveActor/index.js +2 -1
  213. package/utils/JsViewVueWidget/JsvInput/EditViewOperator.ts +11 -2
  214. package/utils/JsViewVueWidget/JsvInput/JsvInput.vue +30 -2
  215. package/utils/JsViewVueWidget/JsvLine/JsvLine.vue +24 -7
  216. package/utils/JsViewVueWidget/JsvMarquee.vue +1 -1
  217. package/utils/JsViewVueWidget/JsvNativeSharedDiv.vue +12 -10
  218. package/utils/JsViewVueWidget/JsvNinePatch.vue +13 -8
  219. package/utils/JsViewVueWidget/JsvPieChart.vue +93 -70
  220. package/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue +32 -29
  221. package/utils/JsViewVueWidget/JsvQrcode/JsvQrcode.vue +2 -1
  222. package/utils/JsViewVueWidget/JsvScrollBox/JsvScrollBox.vue +25 -3
  223. package/utils/JsViewVueWidget/JsvScrollBox/JsvScrollFollow.vue +0 -3
  224. package/utils/JsViewVueWidget/JsvSector.vue +66 -28
  225. package/utils/JsViewVueWidget/JsvTextBox.vue +30 -1
  226. package/utils/JsViewVueWidget/JsvTouchModeSwitcher.vue +56 -14
  227. package/utils/JsViewVueWidget/JsvVisibleSensor/JsvVisibleSensor.vue +8 -6
  228. package/utils/JsViewVueWidget/TypesDiv/JsvPosterDiv.vue +54 -0
  229. package/utils/JsViewVueWidget/TypesDiv/JsvPosterImage.vue +88 -0
  230. package/utils/JsViewVueWidget/TypesDiv/JsvSmartDiv.vue +177 -0
  231. package/utils/JsViewVueWidget/TypesDiv/JsvSmartImage.vue +267 -0
  232. package/utils/JsViewVueWidget/index.js +6 -2
  233. package/bin/browser/BrowserAudio.vue.mjs +0 -258
  234. package/bin/browser/BrowserJsvLatex.vue.mjs +0 -145
  235. package/bin/types/utils/JsViewPlugin/JsvLatex/version.d.ts +0 -10
  236. package/bin/types/utils/JsViewVueTools/JsvTextureStore/DominantColor/GetDominantColor.d.ts +0 -7
  237. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/FreeMoveActor.vue.d.ts +0 -78
  238. package/bin/types/utils/JsViewVueWidget/JsvPosterDiv.vue.d.ts +0 -63
  239. package/bin/types/utils/JsViewVueWidget/JsvPosterImage.vue.d.ts +0 -78
  240. package/utils/JsViewPlugin/JsvLatex/version.js +0 -24
  241. package/utils/JsViewVueTools/JsvTextureStore/DominantColor/GetDominantColor.ts +0 -36
  242. package/utils/JsViewVueWidget/JsvPosterDiv.vue +0 -56
  243. package/utils/JsViewVueWidget/JsvPosterImage.vue +0 -105
  244. /package/utils/JsViewPlugin/JsvPlayer/{BrowserJsvPlayer-0.9.vue → JsvPlayerBrowser-0.9.vue} +0 -0
@@ -1,4 +1,5 @@
1
1
  <script>
2
+ /* eslint-disable */
2
3
  import { Forge } from "@shijiu/jsview/dom/jsv-forge-define";
3
4
  import { AckEventDefine } from "./AckEventDefine.ts";
4
5
  import playerExMethods from "./JsvMediaBrowserInterface.js";
@@ -7,6 +8,24 @@ import { JsvNativeSharedDiv } from "jsview";
7
8
 
8
9
  let logDebug = console.log;
9
10
 
11
+ async function loadM3U8(src, videoHandler) {
12
+ const {
13
+ isSupported:hlsIsSupported,
14
+ Hls
15
+ } = await import("https://cdn.release.qcast.cn/JsViewTest/wasm/resources/hls.light.mjs");
16
+
17
+ if(hlsIsSupported()) {
18
+ console.log('BrowserJsvPlayer: m3u8->hls.');
19
+ const hls = new Hls();
20
+ hls.loadSource(src);
21
+ hls.attachMedia(videoHandler);
22
+ hls.on(Hls.Events.MANIFEST_PARSED, () => videoHandler.play());
23
+ }else{
24
+ console.log('BrowserJsvPlayer: m3u8->hls failed, fallback to standard.');
25
+ videoHandler.src = src;
26
+ }
27
+ }
28
+
10
29
  export default {
11
30
  props: {
12
31
  /**
@@ -258,6 +277,15 @@ export default {
258
277
  return {};
259
278
  },
260
279
  },
280
+ /**
281
+ * 回调函数,当流播放错误时,重试的时候发送此事件,用于上报log使用。
282
+ */
283
+ onStreamChanged: {
284
+ type: Function,
285
+ default: ()=>{
286
+ return{}
287
+ }
288
+ },
261
289
  /**
262
290
  * 属性,Object类型,设置窗口属性,同其他组件的style设置。
263
291
  */
@@ -273,10 +301,10 @@ export default {
273
301
  */
274
302
  active: { type: Boolean, default: true },
275
303
 
276
- /**
277
- * 属性,Number,视频播放窗的圆角设置
278
- */
279
- corner: { type: Number, default: 0 },
304
+ /**
305
+ * 属性,int类型,设置圆角属性。
306
+ */
307
+ cornerRadius: {type: Number, default: 0},
280
308
  },
281
309
  components: {
282
310
  JsvNativeSharedDiv,
@@ -287,7 +315,7 @@ export default {
287
315
  if (this.video) {
288
316
  if (newValue) {
289
317
  this.registerEvent();
290
- // this.video.setHoleID?.(this.holeId);
318
+ // this.video.setHoleID(this.holeId);
291
319
  this.holeStyle = {
292
320
  left: 0,
293
321
  top: 0,
@@ -373,25 +401,30 @@ export default {
373
401
  if (!this.video) {
374
402
  // 创建PC版本的video标签
375
403
  this.video = window.originDocument.createElement("video");
404
+ this.video.crossOrigin = "anonymous"
376
405
  this.video.style.position = "absolute";
377
406
  this.video.style.zIndex = -100;
378
407
  this._extendsApi(this.video);
379
-
408
+
380
409
  const appElement = window.originDocument.getElementById("app");
381
410
  document.body.insertBefore(this.video, appElement);
382
411
 
412
+
383
413
  // 跟踪视频显示位置
384
414
  let _this = this;
385
415
  this.positionAckFunc = (event_json) => {
386
416
  // 跟踪JsvNativeShared的位置变化
387
417
  let new_pos = JSON.parse(event_json);
418
+
388
419
  this.video.style.left =
389
420
  window.JsvCoreApi.WasmExt.measurePosition(new_pos.x) + "px";
421
+
390
422
  this.video.style.top =
391
423
  window.JsvCoreApi.WasmExt.measurePosition(new_pos.y) + "px";
392
424
 
393
425
  this.video.style.width =
394
426
  window.JsvCoreApi.WasmExt.measurePosition(new_pos.width) + "px";
427
+
395
428
  this.video.style.height =
396
429
  window.JsvCoreApi.WasmExt.measurePosition(new_pos.height) + "px";
397
430
  };
@@ -412,7 +445,10 @@ export default {
412
445
  this.registerEvent();
413
446
 
414
447
  //if(first_create){
415
- if (this.src && this.src !== "") this.video.src = this.src;
448
+ if (this.src && this.src !== "") {
449
+ window.jsvVideo = this.video;
450
+ this.video.setSrc(this.src, undefined, undefined);
451
+ }
416
452
 
417
453
  if (this.currentTime !== 0) this.video.currentTime = this.currentTime;
418
454
 
@@ -455,7 +491,9 @@ export default {
455
491
  }
456
492
  },
457
493
 
458
- unmounted() {
494
+ beforeUnmount() {
495
+ // unmounted() {
496
+ console.log("JsvPlayer beforeUnmount");
459
497
  if (this.video != null) {
460
498
  // 清理video标签
461
499
  document.body.removeChild(this.video);
@@ -476,7 +514,7 @@ export default {
476
514
  },
477
515
  registerEvent() {
478
516
  if (this.video && this.active) {
479
- this.video.addEventListener("end", this.onEnded);
517
+ this.video.addEventListener("ended", this.onEnded);
480
518
  this.video.addEventListener("error", this.onError);
481
519
  //this.video.addEventListener("abort", this.onAbort);
482
520
  this.video.addEventListener("timeupdate", this.onTimeUpdate);
@@ -506,6 +544,7 @@ export default {
506
544
  this.video.addEventListener("timeshifted", this.onTimeShifted);
507
545
  this.video.addEventListener("backlive", this.onBackLive);
508
546
  this.video.addEventListener("backlived", this.onBackLived);
547
+ this.video.addEventListener("streamchanged", this.onStreamChanged);
509
548
  }
510
549
  },
511
550
  _extendsApi(videoRef) {
@@ -513,6 +552,17 @@ export default {
513
552
  for (let method_name in playerExMethods) {
514
553
  videoRef[method_name] = playerExMethods[method_name].bind(videoRef);
515
554
  }
555
+
556
+ videoRef["setSrc"] = (url, head, type) => {
557
+ const url_parsed = new URL(url);
558
+ if(url_parsed.pathname.endsWith('.m3u8')){
559
+ console.log(`PC simulate setSrc(m3u8) url=${url} head=${head} type=${type}`);
560
+ loadM3U8(url, videoRef);
561
+ }else{
562
+ console.log(`PC simulate setSrc(standard) url=${url} head=${head} type=${type}`);
563
+ videoRef.src = url;
564
+ }
565
+ }
516
566
  },
517
567
  },
518
568
  };
@@ -528,7 +578,7 @@ export default {
528
578
  top: this.style.top,
529
579
  }"
530
580
  :getId="getHoleId"
531
- :corner="corner"
581
+ :corner="cornerRadius"
532
582
  />
533
583
  </template>
534
584
 
@@ -0,0 +1,511 @@
1
+ <script>
2
+ /* eslint-disable */
3
+ import { Forge } from "@shijiu/jsview/dom/jsv-forge-define";
4
+ import playerExMethods from "./JsvMediaBrowserInterface.js";
5
+ import { shallowRef } from "vue";
6
+
7
+ let logDebug = console.log;
8
+
9
+ export default {
10
+ props: {
11
+ /**
12
+ * 回调函数,播放器对象通知接口
13
+ * @param {Object} video对象,可以通过此video对象调用video相关属性和方法,具体属性和方法定义见JsvMedia.js文件里相关说明。
14
+ */
15
+ onRef: { type: Function, default: () => {} },
16
+ /**
17
+ * 属性,Boolean类型,true表示自动播放,默认false。
18
+ */
19
+ autoplay: { type: Boolean, default: false },
20
+ /**
21
+ * 属性,String类型,播放器实例索引,同样的key使用同一个播放器实例。
22
+ */
23
+ playerKey: { type: String, default: null },
24
+ /**
25
+ * 属性,String类型,播放器窗口模式,默认resizable模式。
26
+ * full:观影模式,全屏方式,不建议修改w/h/l/t,视频清晰度/流畅度最佳;
27
+ * resizable:可变窗口模式,可以随意修改w/h/l/t,支持动画效果,视频清晰度/流畅度表现可能不如full模式;
28
+ * pip:画中画模式,只在支持多路硬解的情况下使用,用户画中画的小窗播放,对清晰度/流畅度要求较差,可能会有反交错问题。
29
+ */
30
+ windowMode: { type: String, default: "resizable" },
31
+ /**
32
+ * 属性,int类型,底层使用的播放器类型。1:系统播放器;2:jsv播放器。默认2。
33
+ */
34
+ playerType: { type: Number, default: 2 },
35
+ /**
36
+ * 属性,int类型,播放器解码方式。0:根据硬件能力自动匹配;1:硬解码;2:软解码。默认0(根据芯片能力自动匹配)。
37
+ */
38
+ decodeType: { type: Number, default: 0 },
39
+ /**
40
+ * 属性,Boolean类型,层级关系,true表示在界面的下面,false表示在界面上面,默认true。
41
+ */
42
+ background: { type: Boolean, default: true },
43
+ /**
44
+ * 属性,Boolean类型,true表示静音,默认false。
45
+ */
46
+ muted: { type: Boolean, default: false },
47
+ /**
48
+ * 属性,Boolean类型,true表示循环播放,默认false。
49
+ */
50
+ loop: { type: Boolean, default: false },
51
+ /**
52
+ * 属性,String类型,播放地址。
53
+ */
54
+ src: { type: String, default: "" },
55
+ /**
56
+ * 属性,Double类型,起播时间,0-duration。
57
+ */
58
+ currentTime: { type: Number, default: 0 },
59
+ /**
60
+ * 属性,Boolean类型,是否保留最后一帧,true保留,false不保留。
61
+ */
62
+ keepLastFrame: { type: Boolean, default: true },
63
+ /**
64
+ * 属性,String类型,视频显示比例,origin原始比例显示,full全屏显示,x:y按照指定比例显示。
65
+ */
66
+ videoAspectRatio: { type: String, default: "origin" },
67
+ /**
68
+ * 属性,JSON Object类型,色度抠像参数,包含color,colorDistance,edgeDistance,greenOffset四个参数,
69
+ * 参考格式:{color: 0x30FF30, colorDistance: 0.15, edgeDistance: 0.4, greenOffset: 0.05}
70
+ * color,色值,int类型,为抠图色值范围的中心点,格式为0xRRGGBB。
71
+ * colorDistance,float类型,色域范围,范围0-1.0。
72
+ * edgeDistance,float类型,alpha透明度距离,范围colorDistance-1.0,从colorDistance到edgeDistance的alpha值从1.0-0线性递减。
73
+ * greenOffset,float类型,红蓝差值,范围0-1.0。
74
+ * 目前只支持扣绿。
75
+ */
76
+ chromaKey: { type: Object, default: null },
77
+ /**
78
+ * 回调函数,播放结束时通过此回调接口通知。
79
+ */
80
+ onEnded: {
81
+ type: Function,
82
+ default: () => {
83
+ return {};
84
+ },
85
+ },
86
+ /**
87
+ * 回调函数,播放错误时通过此接口通知。
88
+ * @param {int} 错误类型,当前定义了四种错误。1是异常中断;2是网络错误;3是解码错误;4是格式不支持。
89
+ */
90
+ onError: {
91
+ type: Function,
92
+ default: () => {
93
+ return {};
94
+ },
95
+ },
96
+ // onAbort: {type: Function, default: ()=>{return{}}},
97
+ /**
98
+ * 回调函数,当正常播放时,每0.5秒上报一次,回调接口里会带上当前时间,也可以使用video对象的currentTime属性去获取当前时间。
99
+ * @param {Long} 当前播放时间,单位秒。
100
+ */
101
+ onTimeUpdate: {
102
+ type: Function,
103
+ default: () => {
104
+ return {};
105
+ },
106
+ },
107
+ /**
108
+ * 回调函数,开始加载,设置完播放地址后,上报此事件。
109
+ */
110
+ onLoadStart: {
111
+ type: Function,
112
+ default: () => {
113
+ return {};
114
+ },
115
+ },
116
+ /**
117
+ * 回调函数,开始正常播放,同一个播放地址仅触发一次。
118
+ */
119
+ onCanPlayThrough: {
120
+ type: Function,
121
+ default: () => {
122
+ return {};
123
+ },
124
+ },
125
+ /**
126
+ * 回调函数,正常下载,duration不变的情况下只触发一次。
127
+ */
128
+ onProgress: {
129
+ type: Function,
130
+ default: () => {
131
+ return {};
132
+ },
133
+ },
134
+ /**
135
+ * 回调函数,视频准备好后触发。
136
+ */
137
+ onLoadedMetaData: {
138
+ type: Function,
139
+ default: () => {
140
+ return {};
141
+ },
142
+ },
143
+ /**
144
+ * 回调函数,视频准备好后触发,这个时候可以正常seek。
145
+ */
146
+ onLoad: {
147
+ type: Function,
148
+ default: () => {
149
+ return {};
150
+ },
151
+ },
152
+ /**
153
+ * 回调函数,视频准备好后触发,这个时候可以获取duration。
154
+ */
155
+ onDurationChange: {
156
+ type: Function,
157
+ default: () => {
158
+ return {};
159
+ },
160
+ },
161
+ /**
162
+ * 回调函数,视频准备好后,seek(修改currentTime)会出发此事件。
163
+ */
164
+ onSeeking: {
165
+ type: Function,
166
+ default: () => {
167
+ return {};
168
+ },
169
+ },
170
+ /**
171
+ * 回调函数,seek完成后触发此事件。
172
+ */
173
+ onSeeked: {
174
+ type: Function,
175
+ default: () => {
176
+ return {};
177
+ },
178
+ },
179
+ /**
180
+ * 回调函数,缓冲时触发。
181
+ */
182
+ onStalled: {
183
+ type: Function,
184
+ default: () => {
185
+ return {};
186
+ },
187
+ },
188
+ /**
189
+ * 回调函数,正常播放后触发。
190
+ */
191
+ onPlaying: {
192
+ type: Function,
193
+ default: () => {
194
+ return {};
195
+ },
196
+ },
197
+ /**
198
+ * 回调函数,正常显示后触发此事件。
199
+ */
200
+ onCanPlay: {
201
+ type: Function,
202
+ default: () => {
203
+ return {};
204
+ },
205
+ },
206
+ /**
207
+ * 回调函数,音频失去焦点后触发此事件,可能会导致pause(点播)或者离开频道(直播)。
208
+ */
209
+ onAudioFocusLoss: {
210
+ type: Function,
211
+ default: () => {
212
+ return {};
213
+ },
214
+ },
215
+ /**
216
+ * 回调函数,音频获取焦点后触发此事件,可能会触发resume(点播)或者加入频道(直播)。
217
+ */
218
+ onAudioFocusGain: {
219
+ type: Function,
220
+ default: () => {
221
+ return {};
222
+ },
223
+ },
224
+ /**
225
+ * 回调函数,直播进入时移状态时,触发此事件。
226
+ */
227
+ onTimeShift: {
228
+ type: Function,
229
+ default: () => {
230
+ return {};
231
+ },
232
+ },
233
+ /**
234
+ * 回调函数,直播进入时移状态时,成功播放触发此事件。
235
+ */
236
+ onTimeShifted: {
237
+ type: Function,
238
+ default: () => {
239
+ return {};
240
+ },
241
+ },
242
+ /**
243
+ * 回调函数,时移回到直播状态,触发此事件。
244
+ */
245
+ onBackLive: {
246
+ type: Function,
247
+ default: () => {
248
+ return {};
249
+ },
250
+ },
251
+ /**
252
+ * 回调函数,时移回到直播状态时,成功播放触发此事件。
253
+ */
254
+ onBackLived: {
255
+ type: Function,
256
+ default: () => {
257
+ return {};
258
+ },
259
+ },
260
+ /**
261
+ * 回调函数,当流播放错误时,重试的时候发送此事件,用于上报log使用。
262
+ */
263
+ onStreamChanged: {
264
+ type: Function,
265
+ default: ()=>{
266
+ return{}
267
+ }
268
+ },
269
+ /**
270
+ * 属性,Object类型,设置窗口属性,同其他组件的style设置。
271
+ */
272
+ style: {
273
+ type: Object,
274
+ default: () => {
275
+ return {};
276
+ },
277
+ },
278
+ /**
279
+ * 属性,Boolean类型,活跃状态,当多个JsvPlayer组件指向一个video对象时,只能有一个处于活跃状态。
280
+ * 视频显示在活跃JsvPlayer设置的显示区域内,事件通知也只会送给活跃的JsvPlayer组件注册的回调函数。
281
+ */
282
+ active: { type: Boolean, default: true },
283
+ },
284
+ components: {},
285
+ watch: {
286
+ active(newValue) {
287
+ console.log("LudlDebug active newValue: " + newValue);
288
+ if (this.video) {
289
+ if (newValue) {
290
+ this.registerEvent();
291
+ this.video.setHoleID(this.holeId);
292
+ this.holeStyle = {
293
+ left: 0,
294
+ top: 0,
295
+ width: this.style.width,
296
+ height: this.style.height,
297
+ };
298
+ } else {
299
+ this.holeStyle = {
300
+ left: 0,
301
+ top: 0,
302
+ width: 0,
303
+ height: 0,
304
+ };
305
+ }
306
+ }
307
+ },
308
+ style(newValue) {
309
+ logDebug(
310
+ "holeStyle newValue: left=" +
311
+ newValue.left +
312
+ ", top=" +
313
+ newValue.top +
314
+ ", width=" +
315
+ newValue.width +
316
+ ", height=" +
317
+ newValue.height
318
+ );
319
+ if (this.active) {
320
+ this.holeStyle = {
321
+ left: 0,
322
+ top: 0,
323
+ width: newValue.width,
324
+ height: newValue.height,
325
+ };
326
+ }
327
+ },
328
+ keepLastFrame(newValue) {
329
+ logDebug("keepLastFrame newValue: " + newValue);
330
+ if (this.video && this.active) {
331
+ this.video.keepLastFrame = this.keepLastFrame;
332
+ }
333
+ },
334
+ },
335
+
336
+ setup() {
337
+ return {
338
+ video: null,
339
+ holeId: "",
340
+ jsvMainView: shallowRef(null),
341
+ innerViewId: shallowRef(-1),
342
+ };
343
+ },
344
+
345
+ data() {
346
+ return {
347
+ holeStyle: {},
348
+ };
349
+ },
350
+ created() {},
351
+ beforeUnmount() {
352
+ logDebug("JsvPlayer:", this.style);
353
+
354
+ let key = "Jsv_" + Math.floor(Math.random() * 10000);
355
+ if (this.playerKey) {
356
+ key = this.playerKey;
357
+ }
358
+ logDebug("player key:" + key);
359
+
360
+ let player_type = 1;
361
+ if (this.playerType) player_type = this.playerType;
362
+
363
+ let background = true;
364
+ if (!this.background) background = this.background;
365
+
366
+ logDebug("JsvPlayer background:" + background);
367
+
368
+ const designMap = window.Forge.DesignMap();
369
+ logDebug("JsvPlayer:", this.holeId);
370
+
371
+ // this.video = findMediaObjectByKey(key);
372
+ // TODO: 后续支持共享MediaId ?
373
+ let first_create = true;
374
+
375
+ if (!this.video) {
376
+ // 创建PC版本的video标签
377
+ this.video = window.originDocument.createElement("video");
378
+ this._extendsApi(this.video);
379
+ } else {
380
+ this.video.setRef();
381
+ first_create = false;
382
+ }
383
+
384
+ if (this.video != null) {
385
+ if (this.active) {
386
+ this.registerEvent();
387
+
388
+ //if(first_create){
389
+ if (this.src && this.src !== "") this.video.src = this.src;
390
+
391
+ if (this.currentTime !== 0) this.video.currentTime = this.currentTime;
392
+
393
+ if (this.autoplay) {
394
+ this.video.autoplay = this.autoplay;
395
+ }
396
+
397
+ if (this.muted) {
398
+ this.video.muted = this.muted;
399
+ }
400
+
401
+ if (this.loop) {
402
+ this.video.loop = this.loop;
403
+ }
404
+
405
+ if (!this.keepLastFrame) {
406
+ this.video.keepLastFrame = this.keepLastFrame;
407
+ }
408
+
409
+ if (this.videoAspectRatio !== "origin") {
410
+ this.video.videoAspectRatio = this.videoAspectRatio;
411
+ }
412
+
413
+ if (this.chromaKey && this.chromaKey !== "") {
414
+ this.video.setChromaKey(this.chromaKey);
415
+ }
416
+ //}else{
417
+ if (!first_create) {
418
+ this.video.setHoleID(this.holeId);
419
+ this.holeStyle = {
420
+ left: 0,
421
+ top: 0,
422
+ width: this.style.width,
423
+ height: this.style.height,
424
+ };
425
+ }
426
+ }
427
+
428
+ // 创建挂载的VideoView
429
+ this.jsvMainView = new Forge.VideoView(this.video, null);
430
+ this.innerViewId = Forge.sViewStore.add(
431
+ new Forge.ViewInfo(this.jsvMainView)
432
+ );
433
+
434
+ this.onRef?.(this.video);
435
+ }
436
+ },
437
+
438
+ unmounted() {
439
+ if (this.video != null) {
440
+ // 清理View管理缓存
441
+ if (this.innerViewId !== -1) {
442
+ Forge.sViewStore.remove(this.innerViewId);
443
+ this.innerViewId = -1;
444
+ this.jsvMainView = null;
445
+ }
446
+ this.onRef?.(null);
447
+ }
448
+ },
449
+
450
+ methods: {
451
+ getHoleId(id) {
452
+ logDebug("getHoleId:", id);
453
+ this.holeId = id;
454
+ },
455
+ registerEvent() {
456
+ if (this.video && this.active) {
457
+ this.video.addEventListener("ended", this.onEnded);
458
+ this.video.addEventListener("error", this.onError);
459
+ //this.video.addEventListener("abort", this.onAbort);
460
+ this.video.addEventListener("timeupdate", this.onTimeUpdate);
461
+ this.video.addEventListener("loadstart", () => {
462
+ logDebug("JsvPlayer received loadstart event.");
463
+ this.holeStyle = {
464
+ left: 0,
465
+ top: 0,
466
+ width: this.style.width,
467
+ height: this.style.height,
468
+ };
469
+ this.onLoadStart();
470
+ });
471
+ this.video.addEventListener("canplaythrough", this.onCanPlayThrough);
472
+ this.video.addEventListener("progress", this.onProgress);
473
+ this.video.addEventListener("loadedmetadata", this.onLoadedMetaData);
474
+ this.video.addEventListener("load", this.onLoad);
475
+ this.video.addEventListener("durationchange", this.onDurationChange);
476
+ this.video.addEventListener("seeking", this.onSeeking);
477
+ this.video.addEventListener("seeked", this.onSeeked);
478
+ this.video.addEventListener("stalled", this.onStalled);
479
+ this.video.addEventListener("playing", this.onPlaying);
480
+ this.video.addEventListener("canplay", this.onCanPlay);
481
+ this.video.addEventListener("audiofocusloss", this.onAudioFocusLoss);
482
+ this.video.addEventListener("audiofocusgain", this.onAudioFocusGain);
483
+ this.video.addEventListener("timeshift", this.onTimeShift);
484
+ this.video.addEventListener("timeshifted", this.onTimeShifted);
485
+ this.video.addEventListener("backlive", this.onBackLive);
486
+ this.video.addEventListener("backlived", this.onBackLived);
487
+ this.video.addEventListener("streamchanged", this.onStreamChanged);
488
+ }
489
+ },
490
+ _extendsApi(videoRef) {
491
+ // 补充插件扩展出来的接口
492
+ for (let method_name in playerExMethods) {
493
+ videoRef[method_name] = playerExMethods[method_name].bind(videoRef);
494
+ }
495
+ },
496
+ },
497
+ };
498
+
499
+ //export default JsvPlayer;
500
+ </script>
501
+
502
+ <template>
503
+ <div :style="style" backgroundColor="rgba(0,0,0,1)">
504
+ <div
505
+ :style="holeStyle"
506
+ :data-jsv-vw-innerview="innerViewId"
507
+ />
508
+ </div>
509
+ </template>
510
+
511
+ <style scoped></style>