帖子
帖子
用户
博客
课程
12下一页
返回列表 发新帖
显示全部楼层
24
帖子
0
勋章
3万+
Y币

[BUG] ijkplayer 点击返回按钮bug

[复制链接]
发表于 2023-8-7 13:24:09
我使用ijkplayer时发现一个bug,当视频全屏播放的时候,如果点击返回按钮就会触发两个点击事件,第一个就是取消全屏播放事件(这事件是对的),第二个就是返回事件(多余的,这事件不该触发)。这个bug导致视频在全屏播放的时候点击返回按钮,就触发小窗口播放时触发的返回事件,运行了该事件中不该运行的逻辑。我试着自己解决这个问题,隐藏小窗口模式下的返回按钮,自定义新的返回按钮,可是我发现这播放器没有获取控制器状态的方法或监听器。因此这bug我现在不知道该怎么解决,请求帮忙。[2023-8-7 13:19:25][INFO] {"eventType":"clickCancelFull"} at details/index.js:770:14
[2023-8-7 13:19:25][INFO] {"eventType":"clickBack"} at details/index.js:770:14


380
帖子
4
勋章
6
Y币
您好,模块版本是最高的吗
380
帖子
4
勋章
6
Y币
这不是有监听吗


addEventListener
添加监听

addEventListener({params},callback(ret))

params
name:

类型:字符串
描述:(可选项)所要监听的动作名称
取值范围:
gesture:手势事件监听
click:按钮点击事件监听
state:播放器状态监听
24
帖子
0
勋章
3万+
Y币
技术咨询-F · 2023-8-7 13:58这不是有监听吗



最高版本,这是监听,但没有监听控制器隐藏,显示的监听参数,有一个api可以主动隐藏和显示控制器,但不能与播放器的显示隐藏同步。所以最好的办法就是,解决我反馈的bug,取消全屏时 不要触发小窗口返回事件。
380
帖子
4
勋章
6
Y币
BIP208367 · 2023-8-7 14:50最高版本,这是监听,但没有监听控制器隐藏,显示的监听参数,有一个api可以主动隐藏和显示控制器,但不能与播放器的显示隐藏同步。所以最好的办法就是,解决我反馈的bug,取消全屏时 不要触发小窗口返回事件。 ...

我反馈给模块技术确认、解决。
0
帖子
1
勋章
1638
Y币
全屏的时候,点击返回按钮会同时返回  clickCancelFull 和 clickBack 这两个事件?
24
帖子
0
勋章
3万+
Y币
模块技术支持-L · 2023-8-7 16:16全屏的时候,点击返回按钮会同时返回  clickCancelFull 和 clickBack 这两个事件?

是的,同时返回两个事件
0
帖子
1
勋章
1638
Y币
打开播放器调的那个接口?
24
帖子
0
勋章
3万+
Y币
模块技术支持-L · 2023-8-7 16:24打开播放器调的那个接口?

打开win之后使用播放器的open方法。                        ijkplayer.open({
                                rect: {
                                        y: this.data.top,    //(可选项)数字类型;播放器 y 坐标(相对于所属的 Window 或 Frame);默认值:0
                                        h: 230,  //(可选项)数字类型;播放器(相对于所属的 Window 或 Frame);默认值:300
                                },
                                texts: {
                                        head: {
                                                title: ''
                                        }
                                },
                                styles: {
                                        repeat: {
                                                repeatwidth: 40, //(可选项)数字类型;重新播放按钮的宽;默认:40
                                                repeatheight: 40, //(可选项)数字类型;重新播放按钮的高;默认:60
                                                repeatImg: 'widget://image/videoplayer/replay.png',
                                        },
                                        lock: {
                                                lockSize: 30,
                                                lockImg: 'widget://image/videoplayer/lock.png',
                                                unlockImg: 'widget://image/videoplayer/unlock.png'
                                        },
                                        head: {
                                                bg: 'rgba(0.5,0.5,0.5,0.7)',
                                                height: 44,
                                                titleSize: 14,
                                                titleColor: '#fff',
                                                backSize: 25,
                                                backImg: 'widget://image/videoplayer/back.png',
                                                hide: false,
                                                customButtons: [{
                                                        w: 30,
                                                        h: 30,
                                                        rightMagin: 10,
                                                        img: 'widget://image/videoplayer/setting.png',
                                                        imgSelected: 'widget://image/videoplayer/settinged.png',
                                                }, {
                                                        w: 40,
                                                        h: 40,
                                                        rightMagin: 10,
                                                        img: 'widget://image/videoplayer/mess.png',
                                                        imgSelected: 'widget://image/videoplayer/messed.png',
                                                }]
                                        },
                                        foot: {
                                                bg: 'rgba(0.5,0.5,0.5,0.7)',
                                                height: 40,
                                                playSize: 25,
                                                playImg: 'widget://image/videoplayer/play.png',
                                                pauseImg: 'widget://image/videoplayer/pause.png',
                                                pauseSize: 25,
                                                timeSize: 14,
                                                timeColor: '#fff',
                                                sliderImg: 'widget://image/videoplayer/slide.png',
                                                progressColor: '#ffffff',
                                                progressSelected: '#0000ff',
                                                hide: false,
                                                verticalImg: 'widget://image/videoplayer/unfullscreen.png',
                                                horizontalImg: 'widget://image/videoplayer/fullscreen.png'
                                        }
                                },
                                path: play_url,
                                autoPlay: true,
                                isFullBtn: true,
                                isAutorotate: false,
                                isBackBtn: true,
                                isSmallOpenGesture: false,
                                isOpenGesture: true,
                                fixedOn: api.frameName,
                                fixed: true,
                                movieScaling: 'scaleNone',
                                coverImg: 'widget://image/videoplayer/cover.png'
                        });
0
帖子
1
勋章
1638
Y币
我这边试了一下是没问题的,全屏情况下点击返回按钮是 返回的事件是 stateCancelFull , 非全屏点击返回按钮,返回的事件是 stateStop ,


事件通过以下代码监听
  1. var ijkplayer = api.require('ijkplayer');
  2.                 ijkplayer.addEventListener({
  3.           name: 'state'
  4.                 }, function(ret, err) {
  5.       alert("播放状态监听"+JSON.stringify(ret));
  6.                         }
  7.                 });
复制代码

12下一页
您需要登录后才可以回帖 登录

本版积分规则