uni-app video组件在android 5.1系统上崩溃
uni-app video组件在android 5.1系统上崩溃
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | 10 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
手机系统:Android
手机系统版本号:Android 5.1
手机厂商:米投
手机机型:米投投影仪 v1
页面类型:vue
打包方式:云端
操作步骤:
按照如上代码,在android5.1设备上将视频设置为全屏。
预期结果:
全屏
实际结果:
崩溃
bug描述:
页面代码如下(去掉了条件编译的H5代码):
<view class="left tvgroup-0-0 tvgroup-1-0">
<video id='video1' class="video video-js tvitem-0-0" :src="src" @click="togglePlay" @ended="onfinish"></video>
</view>
onReady() {
// #ifndef H5
this.context = uni.createVideoContext("video1");
this.play();
// #endif
},
fullScreen() {
// #ifndef H5
this.context.requestFullScreen({
direction: -90
});
// #endif
},
更多关于uni-app video组件在android 5.1系统上崩溃的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在日志中看到的
W/System.err( 9829): java.lang.NoSuchMethodError: android.graphics.SurfaceTexture.isReleased
W/System.err( 9829): at io.dcloud.media.video.ijkplayer.media.TextureRenderView$InternalSurfaceHolder.bindToMediaPlayer(TextureRenderView.java:162)
W/System.err( 9829): at io.dcloud.media.video.ijkplayer.media.IjkVideoView.bindSurfaceHolder(IjkVideoView.java:955)
W/System.err( 9829): at io.dcloud.media.video.ijkplayer.media.IjkVideoView.access$2500(IjkVideoView.java:62)
W/System.err( 9829): at io.dcloud.media.video.ijkplayer.media.IjkVideoView$9.onSurfaceCreated(IjkVideoView.java:987)
W/System.err( 9829): at io.dcloud.media.video.ijkplayer.media.TextureRenderView$SurfaceCallback.onSurfaceTextureAvailable(TextureRenderView.java:280)
W/System.err( 9829): at android.view.TextureView.getHardwareLayer(TextureView.java:385)
W/System.err( 9829): at android.view.View.getDisplayList(View.java:13339)
W/System.err( 9829): at android.view.View.getDisplayList(View.java:13415)
W/System.err( 9829): at android.view.View.draw(View.java:14193)
W/System.err( 9829): at android.view.ViewGroup.drawChild(ViewGroup.java:3105)
W/System.err( 9829): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2942)
W/System.err( 9829): at android.view.View.getDisplayList(View.java:13368)
W/System.err( 9829): at android.view.View.getDisplayList(View.java:13415)
W/System.err( 9829): at android.view.View.draw(View.java:14193)
W/System.err( 9829): at android.view.ViewGroup.drawChild(ViewGroup.java:3105)
W/System.err( 9829): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2942)
W/System.err( 9829): at android.view.View.draw(View.java:14479)
W/System.err( 9829): at android.widget.FrameLayout.draw(FrameLayout.java:472)
W/System.err( 9829): at android.view.View.getDisplayList(View.java:13373)
W/System.err( 9829): at android.view.View.getDisplayList(View.java:13415)
W/System.err( 9829): at android.view.View.draw(View.java:14193)
W/System.err( 9829): at android.view.ViewGroup.drawChild(ViewGroup.java:3105)
W/System.err( 9829): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2942)
W/System.err( 9829): at android.view.View.getDisplayList(View.java:13368)
W/System.err( 9829): at android.view.View.getDisplayList(View.java:13415)
W/System.err( 9829): at android.view.View.draw(View.java:14193)
W/System.err( 9829): at android.view.ViewGroup.drawChild(ViewGroup.java:3105)
W/System.err( 9829): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2942)
W/System.err( 9829): at android.view.View.draw(View.java:14479)
W/System.err( 9829): at android.widget.FrameLayout.draw(FrameLayout.java:472)
W/System.err( 9829): at android.view.View.getDisplayList(View.java:13373)
W/System.err( 9829): at android.view.View.getDisplayList(View.java:13415)
W/System.err( 9829): at android.view.View.draw(View.java:14193)
W/System.err( 9829): at android.view.ViewGroup.drawChild(ViewGroup.java:3105)
W/System.err( 9829): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2942)
W/System.err( 9829): at android.view.View.getDisplayList(View.java:13368)
W/System.err( 9829): at android.view.View.getDisplayList(View.java:13415)
W/System.err( 9829): at android.view.View.draw(View.java:14193)
W/System.err( 9829): at android.view.ViewGroup.drawChild(ViewGroup.java:3105)
W/System.err( 9829): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2942)
W/System.err( 9829): at android.view.View.draw(View.java:14479)
W/System.err( 9829): at android.widget.FrameLayout.draw(FrameLayout.java:472)
W/System.err( 9829): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2393)
W/System.err( 9829): at android.view.View.getDisplayList(View.java:13373)
W/System.err( 9829): at android.view.View.getDisplayList(View.java:13415)
W/System.err( 9829): at android.view.HardwareRenderer$GlRenderer.buildDisplayList(HardwareRenderer.java:1570)
W/System.err( 9829): at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:1449)
W/System.err( 9829): at android.view.ViewRootImpl.draw(ViewRootImpl.java:2427)
W/System.err( 9829): at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2299)
W/System.err( 9829): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1929)
W/System.err( 9829): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1046)
W/System.err( 9829): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5663)
W/System.err( 9829): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
W/System.err( 9829): at android.view.Choreographer.doCallbacks(Choreographer.java:574)
W/System.err( 9829): at android.view.Choreographer.doFrame(Choreographer.java:544)
W/System.err( 9829): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
W/System.err( 9829): at android.os.Handler.handleCallback(Handler.java:733)
W/System.err( 9829): at android.os.Handler.dispatchMessage(Handler.java:95)
W/System.err( 9829): at android.os.Looper.loop(Looper.java:136)
W/System.err( 9829): at android.app.ActivityThread.main(ActivityThread.java:5052)
W/System.err( 9829): at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 9829): at java.lang.reflect.Method.invoke(Method.java:515)
W/System.err( 9829): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
W/System.err( 9829): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
W/System.err( 9829): at dalvik.system.NativeStart.main(Native Method)
E/UncaughtExceptionHandler( 9829): java.lang.NoSuchMethodError: android.graphics.SurfaceTexture.isReleased
更多关于uni-app video组件在android 5.1系统上崩溃的实战教程也可以访问 https://www.itying.com/category-93-b0.html
日志是用一个小米手机弄出来的,4.4.4的版本。这个应用主要用在电视和投影仪上,小米电视 4k和投影仪都会崩溃,但是我不知道怎么取日志,所以找了台旧手机,估计问题是一样的。
请提供简单、可稳定复现、能直接运行的完整示例(上传附件),方便我们快速排查问题哦。
【bug优先处理规则】https://ask.dcloud.net.cn/article/38139
已添加demo
在下一条回复里
android 4.4.4可稳定重现
android 5.1 下也会崩溃
android 5.0,硬解码方式,requestFullScreen会崩溃,软解码不会,求解决
我目前采用其它方案规避了这个问题。 video 直接全屏尺寸创建,不调用requestFullScreen就不会崩溃。uni目前对于电视和android6.0以下的设备在硬件方面总是有一些奇奇怪怪的问题。