@shijiu/jsview-vue 2.3.151-test.0 → 3.0.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
@@ -3,22 +3,35 @@
3
3
  * @Date: 2023-02-22 18:22:26
4
4
  * @Description: file content
5
5
  */
6
- let PluginInfo = {
7
- // downloadUrl: "http://192.168.2.1:8097/pluginpackapp.zip", //插件下载地址
6
+ export const PluginInfo = {
7
+ // downloadUrl: "http://192.168.0.31:8089/JsvLatex.zip", //插件下载地址
8
8
  packageName: "com.qcode.jsvlatex",
9
+ backupDownloadUrl:[],
9
10
  name: "数学公式插件",
10
- version: "1.0.4", //插件需要的版本号
11
- versionCodeMin: 4,
12
- versionCodeMax: 4,
11
+ version: "1.0.19", //插件需要的版本号
12
+ versionCodeMin: 19,
13
+ versionCodeMax: 19,
13
14
  bridgeName: "jsvLatexBridge", //插件bridge注册到jsview的名称
14
- className: "com.qcode.jsvlatex.JsvLatex", //插件初始化类名称
15
- initMethod: "createInstance", //插件初始化方法
16
- listener: "top.JsvLatexPluginLoadResult", //插件加载结果回调
15
+ className: "com.qcode.jsvlatex.JsvLatex", //插件初始化类名称
16
+ initMethod: "createInstance", //插件初始化方法
17
+ listener: "top.JsvLatexPluginLoadResult", //插件加载结果回调
17
18
  listener2: "top.JsvLatexPluginStatus",
18
19
  // debug:true,
19
- // md5: "f8a12f63d450df862abc6dbf273e258d"
20
+ md5: "7e95cf0cb5b97f1978d60cf00ca6770b",
21
+ };
22
+ export const PluginInfo64 = {
23
+ // downloadUrl: "http://192.168.0.128:8089/JsvLatex.zip", //插件下载地址
24
+ packageName: "com.qcode.jsvlatex",
25
+ backupDownloadUrl:[],
26
+ name: "数学公式插件",
27
+ version: "1.0.19", //插件需要的版本号
28
+ versionCodeMin: 19,
29
+ versionCodeMax: 19,
30
+ bridgeName: "jsvLatexBridge", //插件bridge注册到jsview的名称
31
+ className: "com.qcode.jsvlatex.JsvLatex", //插件初始化类名称
32
+ initMethod: "createInstance", //插件初始化方法
33
+ listener: "top.JsvLatexPluginLoadResult", //插件加载结果回调
34
+ listener2: "top.JsvLatexPluginStatus",
35
+ // debug:true,
36
+ md5: "7e95cf0cb5b97f1978d60cf00ca6770b",
20
37
  };
21
-
22
- // 不要用export default,update-env脚本不能解析
23
- // 导出字段要含有 pluginVersionInfo 信息,作为npm时版本参考
24
- export default PluginInfo;
@@ -3,8 +3,9 @@ import PluginInfo from './version.mjs'
3
3
  function reconfigPluginInfo() {
4
4
  if(typeof window.jJsvRuntimeBridge!=='undefined' && window.jJsvRuntimeBridge && typeof window.jJsvRuntimeBridge.getPluginBaseUrl !== "undefined"){
5
5
  let plugin_base_url = window.jJsvRuntimeBridge.getPluginBaseUrl();
6
+ let folder_name = "com.qcode.jsvplayer";
6
7
  if(plugin_base_url){
7
- PluginInfo.downloadUrl = (plugin_base_url[plugin_base_url.length-1]==="/"?plugin_base_url:(plugin_base_url+"/"))+PluginInfo.packageName+"/JsvPlayer-"+PluginInfo.versionCodeMax+".dat?md5="+PluginInfo.md5;
8
+ PluginInfo.downloadUrl = (plugin_base_url[plugin_base_url.length-1]==="/"?plugin_base_url:(plugin_base_url+"/"))+folder_name+"/JsvPlayer-"+PluginInfo.versionCodeMax+".dat?md5="+PluginInfo.md5;
8
9
  }
9
10
  }
10
11
  }
@@ -18,11 +18,18 @@ let EVENT_STATUS_END = 12;
18
18
 
19
19
  let MediaPluginInfo = getPluginInfo();
20
20
 
21
- var mediaArray = [];
22
-
23
- var pluginLoadListener = [];
24
- var PluginEventKey = "JsvPlayer";
25
- var chipType = "";
21
+ let mediaArray = [];
22
+
23
+ let pluginLoadListener = [];
24
+ let PluginEventKey = "JsvPlayer";
25
+ let chipType = "";
26
+ let globalOperator = null;
27
+ let JsvPlayerProbeMulticastChannelID = -1;
28
+ let JsvPlayerProbeMulticastUrl = null;
29
+ let globalStreamChangedListener = null;
30
+ let JsvPlayerMobileEventParam = null;
31
+ let JsvPlayerStbID = null;
32
+ let JsvPlayerGlobalListener = null;
26
33
 
27
34
  let LOG_LEVEL_FATAL = 5;
28
35
  let LOG_LEVEL_ERROR = 4;
@@ -115,7 +122,12 @@ function JsvPlayerPluginLoadResult(result){
115
122
  pluginLoadState = 5;
116
123
  notify_obj.status = 4;
117
124
  if(ret_obj){
118
- notify_obj.code = ret_obj.status;
125
+ if(ret_obj.hasOwnProperty("error_code")){
126
+ notify_obj.code = ret_obj.error_code;
127
+ }else{
128
+ notify_obj.code = ret_obj.status;
129
+ }
130
+
119
131
  }else{
120
132
  notify_obj.code = -1;
121
133
  }
@@ -223,11 +235,30 @@ function JsvPlayerPluginEvent(data){
223
235
  logWarning("Load plugin status, invalid status: "+status)
224
236
  return;
225
237
  }
226
- for(let i=0; i<pluginLoadListener.length; i++){
227
- pluginLoadListener[i](notify_obj);
228
- }
238
+
229
239
  if(pluginLoadState === 4){
230
240
  let capabilitySet = getJsvPlayerCapabilitySet();
241
+
242
+ if(globalOperator !== null){
243
+ setOperator(globalOperator);
244
+ }
245
+
246
+ if(JsvPlayerProbeMulticastChannelID >= 0){
247
+ setProbeMulticastChannelID(JsvPlayerProbeMulticastChannelID);
248
+ }
249
+
250
+ if(JsvPlayerProbeMulticastUrl != null){
251
+ setProbeMulticastUrl(JsvPlayerProbeMulticastUrl);
252
+ }
253
+
254
+ if(JsvPlayerMobileEventParam != null){
255
+ setMobileEventParam(JsvPlayerMobileEventParam);
256
+ }
257
+
258
+ if(JsvPlayerStbID != null){
259
+ setStbID(JsvPlayerStbID);
260
+ }
261
+
231
262
  if(capabilitySet !== null && capabilitySet !== ""){
232
263
  let capabilitySetObj = JSON.parse(capabilitySet);
233
264
  if(capabilitySetObj !== null && capabilitySetObj.hasOwnProperty("chipType")){
@@ -238,6 +269,10 @@ function JsvPlayerPluginEvent(data){
238
269
  mediaArray[i].buildPlatformInstance();
239
270
  }
240
271
  }
272
+
273
+ for(let i=0; i<pluginLoadListener.length; i++){
274
+ pluginLoadListener[i](notify_obj);
275
+ }
241
276
  }else{
242
277
  let type = event_obj.type;
243
278
  let param = event_obj.param;
@@ -535,9 +570,10 @@ class JsvBaseMedia {
535
570
  keepLastFrame: true,
536
571
  timeUpdateLess: false,
537
572
  rate: 1.0,
538
- volume: 1.0,
573
+ volume: null,
539
574
  chromaKey: null,
540
575
  audioTrack: -1,
576
+ videoDeltaTime: 0,
541
577
  };
542
578
 
543
579
  this.local = {
@@ -566,6 +602,7 @@ class JsvBaseMedia {
566
602
  this.frameRateLimit = false;
567
603
  this._onEvent = this.onEvent.bind(this);
568
604
  this._onVisibilityChangeCallBack = this.onVisibilityChangeCallBack.bind(this);
605
+ this.srcList = [];
569
606
 
570
607
  let found = false;
571
608
  for(let i=0; i<mediaArray.length; i++){
@@ -698,6 +735,18 @@ class JsvBaseMedia {
698
735
  if(this.state["audioTrack"] !== -1){
699
736
  this.setState("audioTrack", this.state["audioTrack"], "number");
700
737
  }
738
+
739
+ if(this.state["volume"]){
740
+ this.setState("volume", this.state["volume"], "string");
741
+ }
742
+
743
+ if(this.state["videoDeltaTime"] !== 0){
744
+ this.setState("videoDeltaTime", this.state["videoDeltaTime"], "number");
745
+ }
746
+
747
+ if(this.playerType == 4 && this.srcList.length > 0){
748
+ window.jsvPlayerBridge.addSrcList(this.key, JSON.stringify(this.srcList));
749
+ }
701
750
  }
702
751
 
703
752
  onVisibilityChangeCallBack(){
@@ -743,6 +792,8 @@ class JsvBaseMedia {
743
792
  logDebug("currentTime: "+this.local.currentTime);
744
793
  this.unloadPrivate();
745
794
  }
795
+
796
+ this.clearLastFrame();
746
797
  }
747
798
  this.appVisible = visible;
748
799
  }
@@ -802,7 +853,7 @@ class JsvBaseMedia {
802
853
  logDebug("changeFrameRate, key="+this.key+", enable="+enable);
803
854
  this.frameRateLimit = enable;
804
855
  if(enable){
805
- window.JsView?.reduceFps?.(30);
856
+ window.JsView?.reduceFps?.(25);
806
857
  }else{
807
858
  window.JsView?.reduceFps?.(0);
808
859
  }
@@ -975,7 +1026,7 @@ class JsvBaseMedia {
975
1026
  }
976
1027
 
977
1028
  if (this.hasOwnProperty("ondurationchange")) {
978
- this["ondurationchange"]();
1029
+ this["ondurationchange"](data.duration);
979
1030
  }
980
1031
  this.currentEventStatus = EVENT_STATUS_LOAD;
981
1032
  }
@@ -1120,6 +1171,40 @@ class JsvBaseMedia {
1120
1171
  this.currentEventStatus = EVENT_STATUS_BACKLIVED;
1121
1172
  }
1122
1173
  break;
1174
+ case "onStreamChanged":
1175
+ logDebug("onStreamChanged");
1176
+ if(this.hasOwnProperty("onstreamchanged")){
1177
+ this["onstreamchanged"](JSON.stringify(data));
1178
+ }else if(globalStreamChangedListener != null && typeof globalStreamChangedListener === "function"){
1179
+ globalStreamChangedListener(JSON.stringify(data));
1180
+ }
1181
+
1182
+ break;
1183
+ case "onChangeUrlComplete":
1184
+ logDebug("onChangeUrlComplete");
1185
+ this.local.currentTime = data.currentTime;
1186
+ this.local.duration = data.duration;
1187
+ if(this.hasOwnProperty("onchangeurlcomplete")){
1188
+ this["onchangeurlcomplete"](data.src, data.width, data.height);
1189
+ }
1190
+ if (this.hasOwnProperty("ondurationchange")) {
1191
+ this["ondurationchange"](data.duration);
1192
+ }
1193
+ if (this.hasOwnProperty("ontimeupdate")) {
1194
+ this["ontimeupdate"](data.currentTime);
1195
+ }
1196
+ break;
1197
+ case "onChangeUrlRenderStart":
1198
+ logDebug("onChangeUrlRenderStart");
1199
+ if(this.hasOwnProperty("onchangeurlrenderstart")){
1200
+ this["onchangeurlrenderstart"](data.src);
1201
+ }
1202
+ break;
1203
+ case "onSizeChangeError":
1204
+ logDebug("onSizeChangeError");
1205
+ if(this.hasOwnProperty("onsizechangeerror")){
1206
+ this["onsizechangeerror"](data.width, data.height);
1207
+ }
1123
1208
  default:
1124
1209
  break;
1125
1210
  }
@@ -1237,11 +1322,25 @@ class JsvBaseMedia {
1237
1322
  * 属性,float类型,播放器音量,0-1.0,只影响当前播放器实例。
1238
1323
  */
1239
1324
  get volume() {
1240
- return this.getState("volume");
1325
+ return this.getProperty("volume");
1241
1326
  }
1242
1327
 
1243
1328
  set volume(value) {
1244
- this.setState("volume", value, "number");
1329
+ this.setVolume(value, value);
1330
+ }
1331
+
1332
+ /**
1333
+ * 属性,float类型,播放器左声道音量,0-1.0。
1334
+ */
1335
+ get leftVolume() {
1336
+ return this.getProperty("leftVolume");
1337
+ }
1338
+
1339
+ /**
1340
+ * 属性,float类型,播放器右声道音量,0-1.0。
1341
+ */
1342
+ get rightVolume() {
1343
+ return this.getProperty("rightVolume");
1245
1344
  }
1246
1345
 
1247
1346
  /**
@@ -1321,6 +1420,91 @@ class JsvBaseMedia {
1321
1420
  this.eventReport = true;
1322
1421
  }
1323
1422
 
1423
+ /**
1424
+ * 添加短视频播放地址列表,数组格式。
1425
+ * @param {array} url_list 播放地址列表,数组格式,[url1, url2, ...]。
1426
+ */
1427
+ addSrcList(url_list){
1428
+ if(!url_list || url_list.length == 0 || this.playerType !== 4){
1429
+ return;
1430
+ }
1431
+
1432
+ if(this.playerCreate){
1433
+ window.jsvPlayerBridge.addSrcList(this.key, JSON.stringify(url_list));
1434
+ }
1435
+
1436
+ for(let i=0; i<url_list.length; i++){
1437
+ let found = false;
1438
+ for(let j=0; j<this.srcList; j++){
1439
+ if(url_list[i] === this.srcList[j]){
1440
+ found = true;
1441
+ break;
1442
+ }
1443
+ }
1444
+
1445
+ if(!found){
1446
+ this.srcList.push(url_list[i]);
1447
+ }
1448
+ }
1449
+ }
1450
+
1451
+ removeSrcList(url_list){
1452
+ if(!url_list || url_list.length == 0 || this.playerType !== 4){
1453
+ return;
1454
+ }
1455
+
1456
+ if(this.playerCreate){
1457
+ window.jsvPlayerBridge.removeSrcList(this.key, JSON.stringify(url_list));
1458
+ }
1459
+
1460
+ for(let i=0; i<url_list.length; i++){
1461
+ let found = false;
1462
+ let j = 0;
1463
+ for(j=0; j<this.srcList; j++){
1464
+ if(url_list[i] === this.srcList[j]){
1465
+ found = true;
1466
+ break;
1467
+ }
1468
+ }
1469
+
1470
+ if(found){
1471
+ this.srcList.splice(j, 1);
1472
+ }
1473
+ }
1474
+ }
1475
+
1476
+ changeUrl(url){
1477
+ if(typeof url !== "string" || this.playerType !== 4){
1478
+ return;
1479
+ }
1480
+
1481
+ if(this.playerCreate && this.appVisible){
1482
+ window.jsvPlayerBridge.changeUrl(this.key, url);
1483
+ }
1484
+
1485
+ let src = {};
1486
+ src.url = url;
1487
+ src.type = 1;
1488
+
1489
+ this.state["src"] = JSON.stringify(src);
1490
+ }
1491
+
1492
+ /**
1493
+ * 设置音量,可以分别设置左声道和右声道,如果只用左声道,把rightVolume设置为0,如果只使用右声道,把leftVolume设置为0。
1494
+ * @param {float} leftVolume 左声道音量,0-1.0
1495
+ * @param {float} rightVolume 右声道音量,0-1.0
1496
+ */
1497
+ setVolume(leftVolume, rightVolume){
1498
+ if(typeof leftVolume != "number" || typeof rightVolume != "number"){
1499
+ logTrace("setVolume, invalid volume value: leftVolume = "+leftVolume+", rightVolume = "+rightVolume);
1500
+ }
1501
+
1502
+ let volume = {};
1503
+ volume.leftVolume = leftVolume;
1504
+ volume.rightVolume = rightVolume;
1505
+ this.setState("volume", JSON.stringify(volume), "string");
1506
+ }
1507
+
1324
1508
  /**
1325
1509
  * 添加监听事件。
1326
1510
  * @param {string} type 事件类型。
@@ -1404,6 +1588,23 @@ class JsvBaseMedia {
1404
1588
  this.changeFrameRate(false);
1405
1589
  }
1406
1590
 
1591
+ /**
1592
+ * 视频和音频同步时间的差值,当视频比音频快时,设置大于0的时间差值,当视频比音频慢,设置小于0的时间差值,单位为毫秒。播放器会使用视频时间戳+差值去和音频做同步。
1593
+ * 只有jsv视频播放器(playerType=2)时支持。
1594
+ * @param {int} time 时间差值,单位ms。
1595
+ * @returns {int} 0,表示成功;-1,表示失败
1596
+ */
1597
+ videoSynTime(time){
1598
+ if(typeof time != "number"){
1599
+ return -1;
1600
+ }
1601
+
1602
+ if(this.type === "audio" || this.playerType !== 2){
1603
+ return -1;
1604
+ }
1605
+
1606
+ this.setState("videoDeltaTime", time, "number");
1607
+ }
1407
1608
  /**
1408
1609
  * 要求终端访问指定的频道,并立即返回。对由本地设置为跳过的频道,也返回-1。
1409
1610
  * 频道地址为通过 CTCSetConfig 设置的频道列表中的地址:
@@ -1415,9 +1616,15 @@ class JsvBaseMedia {
1415
1616
  */
1416
1617
  joinChannel(mixNo){
1417
1618
  logTrace("joinChannel, key="+this.key+", mixNo="+mixNo);
1619
+
1620
+ if(typeof mixNo !== "number"){
1621
+ logWarning("joinChannel failed, invalid channel number!");
1622
+ return -1;
1623
+ }
1624
+
1418
1625
  if(this.type === "audio"){
1419
1626
  logWarning("Audio player do not support joinChannel.");
1420
- return 0;
1627
+ return -1;
1421
1628
  }
1422
1629
 
1423
1630
  let ret = this.joinChannelPrivate(mixNo);
@@ -1434,13 +1641,17 @@ class JsvBaseMedia {
1434
1641
  return 0;
1435
1642
  }
1436
1643
 
1437
- if(mixNo <= 0){
1644
+ if(mixNo < 0){
1438
1645
  return -1;
1439
1646
  }
1440
1647
 
1441
1648
  let ret = 0;
1442
1649
  if(this.playerCreate && this.appVisible){
1443
- ret = window.jsvPlayerBridge.JoinChannel(this.key, mixNo);
1650
+ let set_mix_no = mixNo;
1651
+ if(globalOperator === "ZJDX_HW" && mixNo == 101){
1652
+ set_mix_no = 862;
1653
+ }
1654
+ ret = window.jsvPlayerBridge.JoinChannel(this.key, set_mix_no);
1444
1655
  }
1445
1656
 
1446
1657
  if(ret >= 0){
@@ -1630,19 +1841,24 @@ class JsvBaseMedia {
1630
1841
  /**
1631
1842
  * 设置色度抠像参数,只支持扣绿。
1632
1843
  * 参考格式:{color: 0x30FF30, colorDistance: 0.15, edgeDistance: 0.4, greenOffset: 0.05}
1633
- * @param {JSON object} chromaKey,抠像参数,JSON Object包含的参数如下:
1844
+ * @param {string} chromaKey,抠像参数,JSON Object结构,包含的参数如下:
1634
1845
  * color,色值,int类型,为抠图色值范围的中心点,格式为0xRRGGBB。
1635
1846
  * colorDistance,float类型,色域范围,范围0-1.0。
1636
1847
  * edgeDistance,float类型,alpha透明度距离,范围colorDistance-1.0,从colorDistance到edgeDistance的alpha值从1.0-0线性递减。
1637
1848
  * greenOffset,float类型,红蓝差值,范围0-1.0。
1638
1849
  */
1639
1850
  setChromaKey(chromaKey){
1640
- logTrace("setChromaKey, key="+this.key+", chroma key="+JSON.stringify(chromaKey));
1851
+ logTrace("setChromaKey, key="+this.key+", chroma key="+chromaKey);
1641
1852
  if(this.type === "audio"){
1642
1853
  logWarning("Audio player do not support setChromaKey.");
1643
1854
  return;
1644
1855
  }
1645
- this.setState("chromaKey", JSON.stringify(chromaKey), "string");
1856
+ if(typeof chromaKey !== "string"){
1857
+ logWarning("Invalid chromaKey type.");
1858
+ return;
1859
+ }
1860
+
1861
+ this.setState("chromaKey", chromaKey, "string");
1646
1862
  }
1647
1863
 
1648
1864
  setDebugMode(mode){
@@ -1665,6 +1881,50 @@ class JsvBaseMedia {
1665
1881
  return false;
1666
1882
  }
1667
1883
 
1884
+ /**
1885
+ * 获取视频信息,包括配置参数,视频状态,视频格式参数等。
1886
+ * @returns {string} 视频信息字符串,为json string,包括config、status、info三个字端,每个字段也是一个json string格式。
1887
+ * 1、对于config字段,包含的字段定义如下:
1888
+ * 1)如果ConfigType字段值为1,表示是IPTV格式,包括:
1889
+ * ChannelURL:频道直播地址;
1890
+ * TimeShiftURL:频道时移地址;
1891
+ * ChannelID:频道编码,字符串格式;
1892
+ * UserChannelID:频道编号,频道名称前的编号;
1893
+ * ChannelName:频道名称。
1894
+ * 2)如果ConfigType字段值为2,表示JsvPlayer格式,包括:
1895
+ * URL:播放地址;
1896
+ * Type:视频类型:1表示点播,2表示直播,3表示时移,4表示回看;
1897
+ * Head:视频网络请求head;
1898
+ * ShiftTime:时移时间,Type==3有效。
1899
+ * 3)如果ConfigType字段值为3,表示ctc media格式,包括:
1900
+ * MediaURL:媒体播放地址;
1901
+ * MediaCode:媒体code;
1902
+ * MediaType:媒体类型;
1903
+ * TimeShiftUrl:时移地址。
1904
+ * 4)ConfigType等于其它值无效。
1905
+ * 2、对于status字段,包含的字段定义如下:
1906
+ * URL:实际播放地址;
1907
+ * VideoType:视频类型:1表示点播,2表示直播,3表示时移,4表示回看;
1908
+ * Duration:视频总时长,单位秒,直播/时移状态时为-1;
1909
+ * CurrentTime:当前播放时间,直播/时移为时间戳,单位秒;
1910
+ * StartPlayTime:开始播放系统时间,单位秒。
1911
+ * 3、对于info字段,包含的字段定义如下:
1912
+ * VideoWidth:视频宽度,视频起播后有效;
1913
+ * VideoHeight:视频高度,视频起播后有效;
1914
+ * AudioTrackNum:音轨个数;
1915
+ * Fps:帧率。
1916
+ *
1917
+ *
1918
+ */
1919
+ getVideoInfo(){
1920
+ logTrace("getVideoInfo, key="+this.key);
1921
+ if(typeof window.jsvPlayerBridge !== "undefined"){
1922
+ return window.jsvPlayerBridge.GetVideoInfo(this.key);
1923
+ }
1924
+
1925
+ return null;
1926
+ }
1927
+
1668
1928
  /**
1669
1929
  * 私有接口,外部不需要调用此接口。
1670
1930
  */
@@ -1728,7 +1988,7 @@ class JsvMedia extends JsvBaseMedia {
1728
1988
 
1729
1989
  class JsvMediaAudio extends JsvMedia {
1730
1990
  constructor(key, design_map_width) {
1731
- super("audio", "resizable", 0, 3, key, true, design_map_width, 0);
1991
+ super("audio", "resizable", null, 3, key, true, design_map_width, 0);
1732
1992
  }
1733
1993
  }
1734
1994
 
@@ -1815,10 +2075,15 @@ function getJsvPlayerRunningNum(){
1815
2075
  return -1;
1816
2076
  }
1817
2077
 
2078
+ /**
2079
+ * 设置运营商信息,主要用于不同运营商特殊的配置
2080
+ * @param {*} operator 运营商信息。
2081
+ */
1818
2082
  function setOperator(operator){
1819
- logTrace("setOperator");
2083
+ logTrace("setOperator: "+operator);
2084
+ globalOperator = operator;
1820
2085
  if(typeof window.jsvPlayerBridge !== "undefined"){
1821
- return window.jsvPlayerBridge.setOperator(operator);
2086
+ window.jsvPlayerBridge.setOperator(operator);
1822
2087
  }
1823
2088
  }
1824
2089
 
@@ -1826,6 +2091,114 @@ function globalLoadSetOperator(operator){
1826
2091
  setOperator(operator)
1827
2092
  }
1828
2093
 
2094
+
2095
+ /**
2096
+ * 设置组播网络连通性探测频道
2097
+ * @param {Number} mixNo 探测的频道ID
2098
+ */
2099
+ function setProbeMulticastChannelID(mixNo){
2100
+ logTrace("setProbeMulticastChannelID: "+mixNo);
2101
+ if(typeof mixNo === "number"){
2102
+ if(typeof window.jsvPlayerBridge !== "undefined"){
2103
+ window.jsvPlayerBridge.setProbeMulticastChannelID(mixNo);
2104
+ }else{
2105
+ JsvPlayerProbeMulticastChannelID = mixNo;
2106
+ }
2107
+ }else{
2108
+ logTrace("setProbeMulticastChannelID error, typeof mixNo is " + typeof mixNo);
2109
+ }
2110
+ }
2111
+
2112
+
2113
+ /**
2114
+ * 设置组播网络连通性探测地址
2115
+ * @param {String} url 探测的组播地址,需是igmp协议格式,如igmp://224.0.0.1:xxxx
2116
+ */
2117
+ function setProbeMulticastUrl(url){
2118
+ logTrace("setProbeMulticastUrl: "+url);
2119
+ if(typeof url === "string"){
2120
+ if(typeof window.jsvPlayerBridge !== "undefined" && typeof url === "string"){
2121
+ window.jsvPlayerBridge.setProbeMulticastUrl(url);
2122
+ }else{
2123
+ JsvPlayerProbeMulticastUrl = url;
2124
+ }
2125
+ }else{
2126
+ logTrace("setProbeMulticastUrl error, typeof url is " + typeof url);
2127
+ }
2128
+ }
2129
+
2130
+ /**
2131
+ * 注册视频流重试时的监听接口,用于上报log使用。当listener = null时,相当于注销监听。同时只能有一个全局监听接口,后注册的会覆盖之前注册的。
2132
+ * 如果通过组件注册了播放器此事件的监听,不会通过此接口通知。
2133
+ * @param {function name(data) {
2134
+ let obj = JSON.parse(data);
2135
+ let old_src = obj["oldSrc"]; //String类型,报错的url
2136
+ let new_src = obj["newSrc"]; //String类型,重新尝试的URL,如果oldSrc正常播放了,会继续使用oldSrc,否则看是否有备份URL,对于直播,会使用时移地址作为备份URL。
2137
+ let same_src = obj["sameSrc"]; //boolean类型,old_src是否和new_src相等。
2138
+ let video_type = obj["videoType"]; //播放场景。1是点播场景;2是直播场景,3是直播时移场景;4是直播回看场景。
2139
+ }}
2140
+ */
2141
+ function registerStreamChangedListener(listener){
2142
+ if(listener == null || typeof listener === "function"){
2143
+ globalStreamChangedListener = listener;
2144
+ }
2145
+ }
2146
+
2147
+ /**
2148
+ * 设置移动卡花事件上报相关参数
2149
+ * @param {string} param json格式
2150
+ */
2151
+ function setMobileEventParam(param){
2152
+ if(typeof param === "string"){
2153
+ if(typeof window.jsvPlayerBridge !== "undefined"){
2154
+ window.jsvPlayerBridge.setMobileEventParam(param);
2155
+ }else{
2156
+ JsvPlayerMobileEventParam = param;
2157
+ }
2158
+ }else{
2159
+ logTrace("setMobileEventParam error, typeof param is " + typeof param);
2160
+ }
2161
+ }
2162
+
2163
+ /**
2164
+ * 设置stbid
2165
+ * @param {string} stbid 机顶盒stbid
2166
+ */
2167
+ function setStbID(stbid){
2168
+ if(typeof stbid === "string"){
2169
+ if(typeof window.jsvPlayerBridge !== "undefined"){
2170
+ window.jsvPlayerBridge.setStbID(stbid);
2171
+ }else{
2172
+ JsvPlayerStbID = stbid;
2173
+ }
2174
+ }else{
2175
+ logTrace("setStbID error, typeof param is " + typeof stbid);
2176
+ }
2177
+ }
2178
+
2179
+ function globalEventProcess(event_str){
2180
+ logTrace("player global event: "+event_str);
2181
+ if(JsvPlayerGlobalListener != null){
2182
+ let obj = JSON.parse(event_str);
2183
+ let event_obj = JSON.parse(obj.param);
2184
+ let event = event_obj.event;
2185
+ let data = event_obj.data;
2186
+
2187
+ JsvPlayerGlobalListener(event, data);
2188
+ }
2189
+ }
2190
+
2191
+ function setGlobalEventListener(listener){
2192
+ if(JsvPlayerGlobalListener != null){
2193
+ window.JMD.unsubscribe("JsvPlayerGlobalEvent", globalEventProcess);
2194
+ }
2195
+
2196
+ if(listener != null){
2197
+ JsvPlayerGlobalListener = listener;
2198
+ window.JMD.subscribe("JsvPlayerGlobalEvent", globalEventProcess);
2199
+ }
2200
+ }
2201
+
1829
2202
  export {
1830
2203
  JsvMediaVideo,
1831
2204
  JsvMediaAudio,
@@ -1844,4 +2217,10 @@ export {
1844
2217
  setJsvPlayerDebugMode,
1845
2218
  getJsvPlayerRunningNum,
1846
2219
  setOperator,
2220
+ setProbeMulticastChannelID,
2221
+ setProbeMulticastUrl,
2222
+ registerStreamChangedListener,
2223
+ setMobileEventParam,
2224
+ setStbID,
2225
+ setGlobalEventListener,
1847
2226
  }