求助!!协助解决发红包!Android低端设备(电视盒子,街机主板)如何实现背景播放视频?

方案1:
使用组件VideoPlayer,但是Android环境仅支持放在上层,行不通
方案2:
使用官方大佬提供的VideoTexture,非常卡;5个小视频压缩到20M以内,一个4M左右依然是很卡,大概是处理器太弱了! 行不通。。
方案3:
用原生api来播放,创建一个view放在最底层,可是显示不出来,UI下仍为黑色;编辑器中已设置Clear Flags:SOLID_COLOR,Clear Color:#00000000
// 获取 content 根容器,把 videoTextureView 添加到 index 0(最底层)
ViewGroup contentRoot = activity.findViewById(android.R.id.content);
contentRoot.addView(videoTextureView, 0, params);
播放期间一直提示:duplicate layer name: changing SurfaceView - xxxs.sgj/com.cocos.game.AppActivity to SurfaceView - xxxs.sgj/com.cocos.game.AppActivity#1
是因为原生环境Cocos不支持透明通道吗?

怎么办,没办法搞了吗,哥哥们。。哪个大哥知道怎么搞哇?

做成动画?帧动画,spine,不知道行不行

1赞
1赞

嗯,帧动画,不行了再试,担心会巨大

好的,我试试

去年做过一个视频解码渲染,把 MP4 解码成 RGBA 传给 JS 层,纯视图还好,麻烦的点是音视频同步,有需要可以私

1赞

找不到模块“db://agora-rtc-extension-for-cocos-creator/agora-rtc”或其相应的类型声明。
大哥,这个报错是?

你加入QQ技术群(485674798),群里交流更加快速一点

安卓那边就按照你现在修改的那样,然后只需要在 项目-项目设置-宏配置- ENABLE_TRANSPARENT_CANVAS 把这个勾选就可以了

刚才那个是针对h5的,真机的代码

    SurfaceView mGLSurfaceView = this.getSurfaceView();
    mGLSurfaceView.setZOrderOnTop(true); 
    mGLSurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT);
    // 2. 获取根布局(Cocos 的父容器)
    FrameLayout rootLayout = (FrameLayout) findViewById(android.R.id.content);
    videoView = new VideoPlayerView(this);
    FrameLayout.LayoutParams webParams = new FrameLayout.LayoutParams(
            FrameLayout.LayoutParams.MATCH_PARENT,
            FrameLayout.LayoutParams.MATCH_PARENT);
    rootLayout.addView(videoView, webParams);
    String url = "https://sf1-cdn-tos.huoshanstatic.com/obj/media-fe/xgplayer_doc_video/mp4/xgplayer-demo-360p.mp4";
    videoView.setVideoUrl(url);  我这边测试是可以的
1赞

额,谢谢你哈,已经解决了

使用AI协助已解决,谢谢各位回复的大哥