更新记录

1.0.0(2026-01-23)

  • 初始版本发布
  • 集成腾讯云视立方播放器 SDK
  • 支持 Android 和 iOS 平台
  • 支持 License 动态设置
  • 支持视频点播播放、硬件加速、缓存配置

平台兼容性

tx-helper (lc-tx-player)

这是一个基于腾讯云视立方播放器 SDK 的 UniApp UTS 原生插件,支持 iOS 和 Android 平台。 提供高性能的视频播放能力,支持点播、硬件加速等功能。

平台支持

uni-app uni-app x Android iOS

功能特性

  • License 管理: 支持动态设置腾讯云 License。
  • 视频播放: 支持 URL 播放和 FileId 播放。
  • 播放控制: 播放、暂停、恢复、停止、跳转(Seek)、倍速播放、静音。
  • 状态监听: 播放状态、网络状态、首帧渲染等事件回调。
  • 性能优化: 支持硬件加速、缓存配置。

安装配置

1. 引入插件

manifest.json 中配置原生插件,选择本地插件 lc-tx-player 或从插件市场导入。

2. 获取 License

请前往 腾讯云视立方控制台 获取 License URL 和 License Key。

使用说明

引入模块

// 引入原生模块用于设置 License 和全局配置
const txPlayerModule = uni.requireNativePlugin("tx-player");

初始化 License

建议在应用启动时(如 App.vueonLaunch)进行初始化:

export default {
  onLaunch: function () {
    const txPlayerModule = uni.requireNativePlugin("tx-player");

    // 替换为您自己的 License URL 和 Key
    const LICENSE_URL = "YOUR_LICENSE_URL";
    const LICENSE_KEY = "YOUR_LICENSE_KEY";

    txPlayerModule.setLicence(LICENSE_URL, LICENSE_KEY, (res) => {
      console.log("License 设置结果:", res);
      // res: { result: 0, reason: "success" }
    });
  },
};

缓存配置(可选)

// 设置缓存文件夹路径
txPlayerModule.setCacheFolderPath(
  "/storage/emulated/0/Android/data/your.package.name/cache",
);
// 设置最大缓存大小 (MB)
txPlayerModule.setMaxCacheSize(500);

组件使用

在页面中使用 <tx-player-view> 组件。

<template>
  <view class="container">
    <tx-player-view
      ref="player"
      class="player-view"
      :autoPlay="false"
      @created="onPlayerCreated"
      @playevent="onPlayEvent"
      @netstatus="onNetStatus"
    />

    <view class="controls">
      <button size="mini" @click="startPlay">播放</button>
      <button size="mini" @click="pause">暂停</button>
      <button size="mini" @click="resume">恢复</button>
      <button size="mini" @click="stop">停止</button>
    </view>
  </view>
</template>

<script>
export default {
  methods: {
    onPlayerCreated() {
      console.log("播放器组件创建完成");
      // 可以在这里进行进一步的初始化或自动播放
    },

    startPlay() {
      // 获取组件实例
      const player = this.$refs.player;
      // 开始播放视频 URL
      player.startPlay(
        "https://1500005830.vod2.myqcloud.com/43843ec0vodtransc***/48d0f7f9387702299774251236/adp.10.m3u8",
      );
    },

    pause() {
      this.$refs.player.pause();
    },

    resume() {
      this.$refs.player.resume();
    },

    stop() {
      this.$refs.player.stopPlay();
    },

    onPlayEvent(e) {
      // 监听播放事件
      const event = e.detail.event; // 事件码
      const param = e.detail.param; // 参数

      if (event === 2004) {
        console.log("视频开始播放");
      } else if (event === 2006) {
        console.log("视频播放结束");
      }
    },

    onNetStatus(e) {
      // 监听网络状态
      // console.log('网络状态:', e.detail.param);
    },
  },
};
</script>

<style>
.player-view {
  width: 750rpx;
  height: 400rpx;
  background-color: #000;
}
</style>

API 文档

模块方法 (tx-player)

方法名 参数 说明
setLicence (url: string, key: string, callback: function) 设置腾讯云 License
getLicenceInfo (callback: function) 获取当前 License 信息
setCacheFolderPath (path: string) 设置视频缓存目录
setMaxCacheSize (size: number) 设置最大缓存大小 (MB)
onPreDownloadCallback (callback: function) 设置预下载回调
startPreload (url: string, maxSize: number, resolution: number) 开始预下载
stopPreload (taskId: number) 停止预下载

组件方法 (tx-player-view)

通过 this.$refs.player 调用:

方法名 参数 说明
startPlay (url: string) 开始播放指定 URL
startPlayWithParams (params: Object) 使用 FileId 播放 (需 appId, fileId, sign)
pause () 暂停播放
resume () 恢复播放
stopPlay () 停止播放并清空画面
seek (time: number) 跳转到指定时间 (秒)
seekAccurate (time: number, isAccurate: boolean) 精确跳转
setRate (rate: number) 设置播放速率 (0.5 - 2.0)
setMute (mute: boolean) 设置静音
setLoop (loop: boolean) 设置循环播放
enableHWAcceleration (enable: boolean) 开启/关闭硬件加速
setConfig (config: Object) 设置播放器高级配置

组件事件

事件名 说明 返回参数
@created 播放器组件底层创建完成时触发 -
@playevent 播放过程中的各种事件回调 detail: { event: Number, param: Object }
@netstatus 网络状态和视频信息回调 detail: { param: Object }

常见事件码 (playevent)

  • 2004: 视频播放开始
  • 2003: 网络接收到首个可渲染视频数据包
  • 2006: 视频播放结束
  • 2013: 播放器准备完成,可以调用获取时长等接口
  • 2015: 视频加载中
  • -2301: 网络断连,且经多次重连抢救无效

注意事项

  1. License 必填: 必须正确设置 License 才能播放,否则会报错。
  2. 原生插件调试: 使用原生插件需要制作自定义基座进行真机调试。
  3. 权限:
    • Android 需在 AndroidManifest.xml 中确保有网络权限(一般默认已有)。
    • iOS 需在 Info.plist 确保网络访问权限。
  4. 组件销毁: 页面销毁时建议调用 stopPlay

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。