// Learn cc.Class: // - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/class.html // - [English] http://www.cocos2d-x.org/docs/creator/en/scripting/class.html // Learn Attribute: // - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/reference/attributes.html // - [English] http://www.cocos2d-x.org/docs/creator/en/scripting/reference/attributes.html // Learn life-cycle callbacks: // - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/life-cycle-callbacks.html // - [English] http://www.cocos2d-x.org/docs/creator/en/scripting/life-cycle-callbacks.html var SDKManage = require("SDKManage") var NetManage = require("NetManage") var wxVoice = cc.Class({ init(){ }, starGameRecorder(){ if(cc.recorder_switch && this.vedio){ this.vedio.start({ hookBgm:true, bitrate:3000, }).then((res) => { console.log(res); }); } }, stopGameRecorder(){ if(cc.recorder_switch && this.vedio){ this.vedio.stop().then((res) => { cc.Notifier.emit("Grstop",res) //console.log(res); }); } }, play(url){ var self = this "undefined" != typeof wx && wx.downloadFile({ url: url, fail: function(e) { }, success: function(res) { if (200 == res.statusCode) { self.playSound(res.tempFilePath,1) } } }); }, onRecordEnd(res){ var self = this this.fs.readFile({ filePath: res.tempFilePath, success: function(res) { wx.request({ url: self.url + "?c=Voice&a=upload&account_id=" + SDKManage.account_id +"&session_id="+ NetManage.session_id+"&rd=" + new Date().getTime(), method: "POST", data: res.data, header: { "content-type": "application/octet-stream" }, fail: function(e) { }, success: function(e) { if(e.statusCode==200&&e.data.errcode==0){ cc.gameMgr&&cc.gameMgr.sendVoice(e.data.download_url) } } }); } }); //test // this.audio[this.audiopos].src = res.tempFilePath // this.audio[this.audiopos].play() // this.audiopos++; }, dostart:function(){ this.rec && this.rec.start({ sampleRate: 11025, numberOfChannels: 1, encodeBitRate: 16e3, format: "mp3", frameSize: 128 }) }, start: function() { if("undefined" == typeof wx){ return } var self = this self.dostart(); // wx.getSetting({ // success(res) { // if (!res.authSetting['scope.record']) { // wx.authorize({ // scope: 'scope.record', // success() { // self.dostart(); // } // }) // } // else{ // self.dostart(); // } // } // }) }, stop: function() { this.rec && this.rec.stop() }, doteamTalk(){ wx.joinVoIPChat({ signature:this.signature, groupId:this.groupId, nonceStr:this.nonceStr, timeStamp:this.timeStamp, success:function(res){ cc.gameMgr.uic.changeTeamMode() }, fail:function(res){ }, }) }, exitTeamTalk(){ if("undefined" == typeof wx){ return } wx.exitVoIPChat&&wx.exitVoIPChat() }, teamTalk(data){ if("undefined" == typeof wx){ return } if(!wx.joinVoIPChat){ return } this.signature = data.sign this.groupId = data.groupId this.nonceStr = data.nonceStr this.timeStamp = data.timeStamp this.doteamTalk() //var self = this // wx.getSetting({ // success(res) { // if (!res.authSetting['scope.record']) { // wx.authorize({ // scope: 'scope.record', // success() { // self.doteamTalk(); // } // }) // } // else{ // self.doteamTalk(); // } // } // }) }, openTeamVoice(){ if("undefined" == typeof wx){ return } wx.updateVoIPChatMuteConfig&&wx.updateVoIPChatMuteConfig({ muteConfig:{ muteMicrophone:false, muteEarphone:false } }) }, closeTeamVoice(){ if("undefined" == typeof wx){ return } wx.updateVoIPChatMuteConfig&&wx.updateVoIPChatMuteConfig({ muteConfig:{ muteMicrophone:true, muteEarphone:true } }) }, xiuzhengbgm(){ if(this.bgm){ var sv = 1 if(cc.notSound){ sv=0 } cc.audioEngine.setMusicVolume(sv) } }, playbgm(url){ var self = this cc.loader.loadRes("sounds/"+url, cc.AudioClip, null, function (err, clip) { if (!err) { self.audioID = cc.audioEngine.playMusic(clip, true); } }); }, stopbgm(){ cc.audioEngine.stopMusic(); }, playSound:function(url,soundVolume){ cc.loader.loadRes("sounds/"+url, cc.AudioClip, null, function (err, clip) { if (!err) { cc.audioEngine.playEffect(clip, false); } }); }, }); var wr = new wxVoice(); wr.init() module.exports = wr;