求教为何ios和Android版的videoPlayer.volume 设置音量无效

  • Creator 版本: 2.4.7

  • 目标平台:

  • 重现方式:

  • 首个报错:

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

  • 手机型号:

  • 手机浏览器:

  • 编辑器操作系统:

  • 重现概率:

因为目前原生层并没有转发 js 控制 setVideoVolume 的消息到 Cocos2dxVideoHepler.java ,所以压根就没法设置音量。
简单的方案:在 AppActivity.java 出添加对 Cocos2dxVideoHelper.setVolume 的调用方法: setVideoVolume
然后再 js 用 jsb.reflection.callStaticMethod 这个方法调用 setVideoVolume 方法即可。

js 代码:

setVolume (volume) {
        if (cc.sys.os === cc.sys.OS_ANDROID) {
            //@ts-ignore
            var nativeViewIndex = this._videoPlayer.nativeViewIndex;
            let className = "org/cocos2dx/javascript/AppActivity";
            let methodName = "setVideoVolume";
            let methodSignature = "(IF)V";
            jsb.reflection.callStaticMethod(className, methodName, methodSignature, nativeViewIndex, volume);
        } else if (cc.sys.isBrowser) {
            this._videoPlayer.volume = volume
        }
    }

demo: http://download.cocos.org/CocosTest/zhefengzhang/NoDelete/videoTest.zip

谢谢。。ios也这样处理吗??

这里改的是 android 的,ios 需要改另外的文件

感谢,已按照上面的方法实现。

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。