external-player-detect.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /**
  2. * features/livestream/external-player-detect.js
  3. *
  4. * 探测第三方 RTMP 直播播放器插件是否已经装到 uni_modules/。
  5. *
  6. * 当前接入:
  7. * wrs-uts-videoplayer("万能原生视频播放器")—— UTS 原生组件,支持 IjkPlayer 内核,
  8. * 可在 nvue 中直接使用 <wrs-uts-videoplayer> 标签。
  9. *
  10. * 探测方式:try { require(...) },标准基座下抓不到就当没装。
  11. */
  12. // #ifdef APP-PLUS
  13. let wrsVideoModule = null
  14. try {
  15. wrsVideoModule = require('@/uni_modules/wrs-uts-videoplayer')
  16. } catch (e) {
  17. wrsVideoModule = null
  18. }
  19. // #endif
  20. // #ifndef APP-PLUS
  21. const wrsVideoModule = null
  22. // #endif
  23. /** wrs-uts-videoplayer 是否可用(DCloud 插件市场 id=16312) */
  24. export const hasWrsVideoPlayer = !!wrsVideoModule
  25. /** 业务层主开关:是否任何一个支持 IjkPlayer 内核的第三方插件可用 */
  26. export const hasExternalLivePlayer = hasWrsVideoPlayer
  27. /**
  28. * 返回 UTSVideoPlayer 工具对象(用于截屏、判断画中画权限等静态 API)
  29. * 业务层不要直接调用 wrsVideoModule.UTSVideoPlayer,统一从这里拿
  30. */
  31. export function getExternalPlayerApi() {
  32. if (!hasWrsVideoPlayer || !wrsVideoModule) return null
  33. return wrsVideoModule.UTSVideoPlayer || null
  34. }