帖子
帖子
用户
博客
课程
123下一页
返回列表 发新帖
显示全部楼层
43
帖子
1
勋章
399
Y币

[BUG] [BUG] TCSuperPlayer模块 监听事件bug

[复制链接]
发表于 2022-6-6 17:53:20
刚刚播放视频  事件触发 didEnd didStart didStart didStart  
这个问题怎么处理啊!!
380
帖子
4
勋章
6
Y币
Android 还是 ios?
代码发下,我这边测试一下,安卓还是ios
43
帖子
1
勋章
399
Y币
安卓的ios系统的还没有试
43
帖子
1
勋章
399
Y币
  1. const {file_id, vodAppId} = this.state.currentPlayVideoInfo
  2.         let dhrVideo = api.require("TCSuperPlayer")
  3.         let topX = 44 + Number(this.state.safe.safeAreaTop) // 顶部安全距离
  4.         let screenWidth = api.screenWidth // 屏幕宽度
  5.         dhrVideo.initPlayer()
  6.         dhrVideo.resizePlayerView({
  7.             rect:{
  8.                 x:0,
  9.                 y:topX,
  10.                 w:screenWidth,
  11.                 h:200,
  12.                 fixed: true
  13.             }
  14.         })
  15.         dhrVideo.playWithTCloud({
  16.             title: this.state.currentPlayVideoInfo.chapterName,
  17.             appId: vodAppId,
  18.             fileId: file_id
  19.         })
  20.         dhrVideo.setStartTime({
  21.             setStartTime: this.state.currentPlayVideoInfo.watchTime
  22.         })
  23.         this.handleRecordTime();
  24.         this.sendVideoPlayTime();
  25.         // 播放器监听事件
  26.         dhrVideo.addPlayerListener( (ret) => {
  27.             console.log('视频播放状态监听', JSON.stringify(ret))
  28.             if (ret.eventType === 'back') {
  29.                 dhrVideo.resizePlayerView({
  30.                     rect:{
  31.                         x:0,
  32.                         y:topX,
  33.                         w:screenWidth,
  34.                         h:200,
  35.                         fixed: true
  36.                     }
  37.                 })
  38.                 dhrVideo.showPlayerView()
  39.             } else if (ret.eventType === 'didStart') {
  40.                 // 开始播放
  41.                 this.monitorTCVideoPlayState() // 定时获取播放状态
  42.                 this.timingGetPlayTime() // 定时获取播放时间
  43.             } else if (ret.eventType === 'didEnd') {
  44.                 // 播放结束
  45.                 clearInterval(this.state.videoCurrentPlayTimer) // 清除播放时间定时器
  46.                 clearInterval(this.state.getVideoStateTimer) // 清除获取视频状态定时器
  47.                 let currentIndex = 0;
  48.                 let currentRemoteChapterId = this.state.currentPlayVideoInfo.remoteChapterId;
  49.                 this.state.courseChapter.forEach((item, index) => {
  50.                     if (currentRemoteChapterId === item.remoteChapterId) {
  51.                         currentIndex = index;
  52.                     }
  53.                 });
  54.                 console.log('播放结束', JSON.stringify(this.state.courseChapter))
  55.                 // this.changePlayData(this.state.courseChapter[currentIndex + 1])
  56.             }
  57.         })
复制代码
特特法爷 · 2022-6-6 18:06代码发下,我这边测试一下,安卓还是ios
43
帖子
1
勋章
399
Y币
怎么样,有结果了么
43
帖子
1
勋章
399
Y币
同样的代码
安卓正常播放
ios系统只有声音没有画面,并且app后台运行无法继续播放声音或悬浮播放
380
帖子
4
勋章
6
Y币
fixed: true 在外面,不是rect 里面

rect:

类型:JSON 类型
描述:(可选项)预览窗口的位置及大小
内部字段:
{
    x: 0,        //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:原x坐标
    y: 0,        //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:原y坐标
    w:300,       //(可选项)数字类型;模块宽度(相对于所属的 Window 或 Frame;默认300
    h:600        //(可选项)数字类型;模块高度(相对于所属的 Window 或 Frame;默认300
}
380
帖子
4
勋章
6
Y币
这个参数加上fixedOn:''

fixedOn:

类型:字符串类型
描述:(可选项)模块添加到指定 frame 的名字(只指 frame,传 window 无效)
默认:预览窗口依附于当前 window
380
帖子
4
勋章
6
Y币
配置后台运行
字段名:backgroundMode

取值范围:

audio:在后台播放和录制音频,包括使用AirPlay播放音频、视频流
location:在后台持续获取位置信息
voip:网络电话
newsstand-content:报刊杂志类应用在后台下载内容
external-accessory:与定期更新的硬件外设工作
bluetooth-central:作为蓝牙中心,与蓝牙外设通信
bluetooth-peripheral:作为蓝牙外设,进行蓝牙通信
fetch:定期下载少量的内容
remote-notification:希望在收到通知后立即去下载相关内容,使相关内容可以尽快显示出来
描述:用于配置iOS后台运行,配置后可以实现后台播放音乐、获取位置信息等功能。云编译有效。

不要随意配置后台运行,因为后台运行的同时也会带来电池续航的问题,苹果公司规定应用使用了后台运行时,必须要在iTunes Connect里应用的描述里面进行声明,否则应用会被拒绝。具体可以参考其他应用如百度地图里面的描述。

配置示例:

//配置一个值:
<preference name="backgroundMode" value="audio"/>

//配置多个值,各值之间用竖线 | 隔开:
<preference name="backgroundMode" value="audio | location"/>
123下一页
您需要登录后才可以回帖 登录

本版积分规则