Как исправить ошибку создателя Cocos на Android - PullRequest
0 голосов
/ 28 мая 2019

Я хочу отправить кому-нибудь голосовое сообщение. поэтому я делаю кнопку Mic на кнопке btnVoice. Но кнопка Mic не нажимается, вместо этого нажимается кнопка btnVoice, и я не вижу никаких сообщений об ошибках или ошибках. в браузере и на симуляторе он работает правильно, но на Android он не работает. Я беспокоюсь об этом.

onLoad: function () {

        cc.vv.TDZVoice = this;
        this._voice = cc.find("Canvas/voice");
        this._voice.active = false;

        this._voice_failed = cc.find("Canvas/voice/voice_failed");
        this._voice_failed.active = false;

        this._timeBar = cc.find("Canvas/voice/time");
        this._timeBar.scaleX = 0.0;

        this._volume = cc.find("Canvas/voice/volume");
        for(var i = 1; i < this._volume.children.length; ++i){
            this._volume.children[i].active = false;
        }

        var btnVoice = cc.find("Canvas/voice/voice_failed/btn_ok");
        if(btnVoice){
            cc.vv.utils.addClickEvent(btnVoice,this.node,"Voice","onBtnOKClicked");
        }

        var self = this;
        var btnVoiceInChat = this.node.getChildByName("chat").getChildByName("btnMic");

        if(btnVoiceInChat){
            btnVoiceInChat.on(cc.Node.EventType.TOUCH_START,function(){
                console.log("cc.Node.EventType.TOUCH_START");
                cc.vv.voiceMgr.prepare("record.amr");
                self._lastTouchTime = Date.now();
                self._voice.active = true;
                self._voice_failed.active = false;
            });

            btnVoiceInChat.on(cc.Node.EventType.TOUCH_MOVE,function(){
                console.log("cc.Node.EventType.TOUCH_MOVE");
            });

            btnVoiceInChat.on(cc.Node.EventType.TOUCH_END,function(){
                console.log("cc.Node.EventType.TOUCH_END");
                if(Date.now() - self._lastTouchTime < 1000){
                    self._voice_failed.active = true;
                    cc.vv.voiceMgr.cancel();
                }
                else{
                    self.onVoiceOK();
                }
                self._lastTouchTime = null;
            });

            btnVoiceInChat.on(cc.Node.EventType.TOUCH_CANCEL,function(){
                console.log("cc.Node.EventType.TOUCH_CANCEL");
                cc.vv.voiceMgr.cancel();
                self._lastTouchTime = null;
                self._voice.active = false;
            });
        }
    },
...