POOOOONY
POOOOONY
  • 发布:2022-10-31 15:17
  • 更新:2022-10-31 15:23
  • 阅读:213

【报Bug】io.dcloud.media.video.ijkplayer.media导致闪退崩溃

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 12.4

HBuilderX类型: 正式

HBuilderX版本号: 3.6.4

手机系统: Android

手机系统版本号: Android 7.1.1

手机厂商: 定制设备

手机机型: 定制设备

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
java.lang.IllegalArgumentException: Cannot setSurfaceTexture to a released SurfaceTexture  
 at android.view.TextureView.setSurfaceTexture(TextureView.java:744)  
 at io.dcloud.media.video.ijkplayer.media.TextureRenderView$InternalSurfaceHolder.bindToMediaPlayer(TextureRenderView.java:171)  
 at io.dcloud.media.video.ijkplayer.media.IjkVideoView.bindSurfaceHolder(IjkVideoView.java:1038)  
 at io.dcloud.media.video.ijkplayer.media.IjkVideoView.access$2500(IjkVideoView.java:68)  
 at io.dcloud.media.video.ijkplayer.media.IjkVideoView$9.onSurfaceCreated(IjkVideoView.java:1070)  
 at io.dcloud.media.video.ijkplayer.media.TextureRenderView$SurfaceCallback.onSurfaceTextureAvailable(TextureRenderView.java:288)  
 at android.view.TextureView.getHardwareLayer(TextureView.java:390)  
 at android.view.TextureView.draw(TextureView.java:339)  
 at android.view.View.updateDisplayListIfDirty(View.java:16183)  
 at android.view.View.draw(View.java:16967)  
 at android.view.ViewGroup.drawChild(ViewGroup.java:3727)  
 at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3513)  
 at android.view.View.updateDisplayListIfDirty(View.java:16178)  
 at android.view.View.draw(View.java:16967)  
 at android.view.ViewGroup.drawChild(ViewGroup.java:3727)  
 at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3513)  
 at android.view.View.draw(View.java:17204)  
 at android.view.View.updateDisplayListIfDirty(View.java:16183)  
 at android.view.View.draw(View.java:16967)  
 at android.view.ViewGroup.drawChild(ViewGroup.java:3727)  
 at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3513)  
 at android.view.View.updateDisplayListIfDirty(View.java:16178)  
 at android.view.View.draw(View.java:16967)  
 at android.view.ViewGroup.drawChild(ViewGroup.java:3727)  
 at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3513)  
 at android.view.View.updateDisplayListIfDirty(View.java:16178)  
 at android.view.View.draw(View.java:16967)  
 at android.view.ViewGroup.drawChild(ViewGroup.java:3727)  
 at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3513)  
 at android.webkit.WebView.dispatchDraw(WebView.java:2670)  
 at android.view.View.draw(View.java:17204)  
 at android.view.View.updateDisplayListIfDirty(View.java:16183)  
 at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3711)  
 at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3691)  
 at android.view.View.updateDisplayListIfDirty(View.java:16146)  
 at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3711)  
 at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3691)  
 at android.view.View.updateDisplayListIfDirty(View.java:16146)  
 at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3711)  
 at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3691)  
 at android.view.View.updateDisplayListIfDirty(View.java:16146)  
 at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3711)  
 at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3691)  
 at android.view.View.updateDisplayListIfDirty(View.java:16146)  
 at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3711)  
 at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3691)  
 at android.view.View.updateDisplayListIfDirty(View.java:16146)  
 at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3711)  
 at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3691)  
 at android.view.View.updateDisplayListIfDirty(View.java:16146)  
 at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3711)  
 at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3691)  
 at android.view.View.updateDisplayListIfDirty(View.java:16146)  
 at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3711)  
 at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3691)  
 at android.view.View.updateDisplayListIfDirty(View.java:16146)  
 at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:648)  
 at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:654)  
 at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:762)  
 at android.view.ViewRootImpl.draw(ViewRootImpl.java:2800)  
 at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2608)  
 at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2215)  
 at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)  
 at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6338)  
 at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)  
 at android.view.Choreographer.doCallbacks(Choreographer.java:686)  
 at android.view.Choreographer.doFrame(Choreographer.java:621)  
 at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)  
 at android.os.Handler.handleCallback(Handler.java:755)  
 at android.os.Handler.dispatchMessage(Handler.java:95)  
 at android.os.Looper.loop(Looper.java:154)  
 at android.app.ActivityThread.main(ActivityThread.java:6141)  
 at java.lang.reflect.Method.invoke(Native Method)  
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)  
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)

操作步骤:

预期结果:

不崩溃

实际结果:

频繁崩溃

bug描述:

柜机定制安卓屏幕,应用首页有video广告播放。操作过程中会通过 v-if 判断是否展示,路由不会切换
客户反馈应用会经常崩溃,加入uni统计后管理系统显示频繁崩溃。
望尽快答复,已严重影响客户使用

2022-10-31 15:17 负责人:DCloud_Android_DQQ 分享
已邀请:
DCloud_Android_DQQ

DCloud_Android_DQQ

1 你这个定制设备我这边无法复现。 你拿hello uni 试试能够复现问题。

2 从报错日志

java.lang.IllegalArgumentException: Cannot setSurfaceTexture to a released SurfaceTexture

可能于硬解码有关,你设置成软解码试试

https://www.html5plus.org/doc/zh_cn/video.html#plus.video.VideoPlayerStyles

  • POOOOONY (作者)

    我看默认是软解码,我没有设置过硬解码诶

    2022-10-31 15:36

  • DCloud_Android_DQQ

    回复 POOOOONY: 你手动设置成软解码试试还有无问题

    2022-11-01 11:11

该问题目前已经被锁定, 无法添加新回复