VideoPlayer在播放在线视频锁屏后不能继续播放

  • Creator 版本:2.1.0

  • 目标平台:iOS

  • 详细报错信息,包含调用堆栈:

  • 重现方式:播放在线视频的过程中,按电源键按钮锁屏,然后解锁,回到播放界面,视频无法继续播放。

  • 之前哪个版本是正常的 :

  • 手机型号 :iPad mini4

  • 出现概率:100%

  • 额外线索:网上查资料表示,iOS设备锁屏的两种情况。通过home键锁屏,程序回到后台,保持socket连接;通过电源键锁屏,程序回到后台,socket断开。

有没有做在线视频类的大佬给点意见!!

先顶为敬

别沉啊,快上去…

大手子们快来啊,头都大了。

谢谢反馈,明天我测试一下。

谢谢大佬,大佬辛苦了

有结论了麻烦通知一声,谢谢

你好,目前引擎设计是这样的,videoPlayer 组件在锁屏后不会自行恢复播放。
你可以自行在项目上加上相关监听代码,来解决这个问题。

您好,我们并不是需要自行恢复播放。实际上,在iOS设备,通过电源键锁屏->解锁后,我的VideoPlayer就不能继续使用了,调用的方法都没有响应,也没有相应的回调。
我们在项目中对程序进入后台、回到前台是有监听的,并且在监听方法中也对VideoPlayer做了暂停播放和恢复播放的逻辑。这部分在android设备上没有问题,iOS设备通过HOME键进入后台再返回也没有问题。但是iOS设备通过电源键锁屏->解锁后,才会出现。如果说引擎目前的设计是在锁屏后就自动暂停播放的话,我想并没有处理到iOS设备电源键锁屏后socket断开的问题吧。

[] nw_socket_handle_socket_event [C1:1] Socket SO_ERROR [9: Bad file descriptor]
2019-06-15 18:35:24.389232+0800 octonauts-mobile[6532:3780161] [] nw_socket_get_input_frames [C1:1] recvmsg(fd 11, 1024 bytes) [57: Socket is not connected]
2019-06-15 18:35:24.389484+0800 octonauts-mobile[6532:3780161] [BoringSSL] nw_protocol_boringssl_error(1584) [C9.1:2][0x102c7ae30] Lower protocol stack error: 53
这是电源键锁屏后iOS报的错误,通过home返回后台并不会出现这个。

你这个是native上的游戏吧?

对 iOS和android平台

?native上没有用么?

我刚刚跑了一下范例合集里面的demo,iphone6sp测试了播放在线视频时锁屏,然后回来的操作。
并不能复现你的问题。
我想你是否给我个demo,告诉我你的测试机型,是否测试过其他机器?

测试机型 iPad mini4、iPhone7。现在提供不了demo,但是我同样用了范例合集做了测试的,是复现了问题的。构建完成后,用xcode打开,run。是还需要有其他的操作么?我们的引擎版本是2.1.0

https://github.com/tryZx/My/blob/master/VID_20190618_171428.mp4
如果方便的话 请您看一下我录制的视频

如果是我操作错了,麻烦指点一下

并没有发现你错在哪。
我们也是直接用2.1.0的范例测试的,在iphone 6sp 和 se 上跑了都没问题。
还请麻烦直接给我们一个测试demo。

NewProject.zip (586.5 KB)

辛苦了

构建iOS后直接运行的xcode,我没有配置其他的东西。主要是电源键锁屏后回来不能继续播放,调用play()方法也没有用。

[ERROR] (/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/manual/jsb_opengl_manual.cpp, 4504): glDrawElements((GLenum)p[1], (GLsizei)p[2], (GLenum)p[3], (const GLvoid*)(intptr_t)p[4]); GL error 0x506: GL_INVALID_FRAMEBUFFER_OPERATION
这个是我这边报的错

我们也测了是7P,没能出现问题。
你是否修改了引擎代码?
在你同事的PC上打出来的包也有问题么?
需要你那边自查一下。