Commit a539a174 authored by limingzhe's avatar limingzhe

feat: 增加统计上报

parent 6f444e0e
import { asyncDelay, onHomeworkFinish } from "../script/util_jj15_zww"; import { addSRAudioDuration, asyncDelay, onHomeworkFinish, setSRRecord, showSRResult } from "../script/util_jj15_zww";
import { MyCocosSceneComponent } from "../script/MyCocosSceneComponent_jj15_zww"; import { MyCocosSceneComponent } from "../script/MyCocosSceneComponent_jj15_zww";
import pg from "./pg_jj15_zww"; import pg from "./pg_jj15_zww";
import hw from "./hw_jj15_zww"; import hw from "./hw_jj15_zww";
...@@ -417,10 +417,14 @@ export default class SceneComponent extends MyCocosSceneComponent { ...@@ -417,10 +417,14 @@ export default class SceneComponent extends MyCocosSceneComponent {
this.soundNode.scale = 0.76; this.soundNode.scale = 0.76;
iconNode.on('touchstart', () => { iconNode.on('touchstart', () => {
this.playAudioByUrl(this.data.audio_url, () => { this.playAudioByUrl(this.data.audio_url, (duration) => {
iconNode.active = true; iconNode.active = true;
animNode.active = false; animNode.active = false;
addSRAudioDuration(this.data.audio_url, duration);
}) })
animNode.active = true; animNode.active = true;
iconNode.active = false; iconNode.active = false;
...@@ -490,6 +494,7 @@ export default class SceneComponent extends MyCocosSceneComponent { ...@@ -490,6 +494,7 @@ export default class SceneComponent extends MyCocosSceneComponent {
console.log("[onFinish] middleLayer not found") console.log("[onFinish] middleLayer not found")
} }
}) })
showSRResult();
}, 1) }, 1)
} }
...@@ -600,10 +605,11 @@ export default class SceneComponent extends MyCocosSceneComponent { ...@@ -600,10 +605,11 @@ export default class SceneComponent extends MyCocosSceneComponent {
let btn_voice = e.target; let btn_voice = e.target;
let com = btn_voice.getComponent(ImgAuto); let com = btn_voice.getComponent(ImgAuto);
com.playVoiceStart(); com.playVoiceStart();
pg.audio.playAudioByUrl(audio, () => { pg.audio.playAudioByUrl(audio, (duration) => {
this.currentAudioId = null; this.currentAudioId = null;
com.playVoiceEnd(); com.playVoiceEnd();
resolve(true); resolve(true);
addSRAudioDuration(audio, duration);
}, (audioId) => { }, (audioId) => {
this.currentAudioId = audioId; this.currentAudioId = audioId;
}) })
...@@ -786,6 +792,7 @@ export default class SceneComponent extends MyCocosSceneComponent { ...@@ -786,6 +792,7 @@ export default class SceneComponent extends MyCocosSceneComponent {
let ingBg = pg.view.find(ing, 'bg'); let ingBg = pg.view.find(ing, 'bg');
ingBg.getComponent(ImgAuto).playVoiceEnd(); ingBg.getComponent(ImgAuto).playVoiceEnd();
let score = recordData.result.overall let score = recordData.result.overall
setSRRecord(this.currentDt.text, recordData.result.audio_duration);
this.updatePopAni(null, score); this.updatePopAni(null, score);
this.checkCardsTime = 3; this.checkCardsTime = 3;
this.scheduleOnce(() => { this.scheduleOnce(() => {
...@@ -877,10 +884,13 @@ export default class SceneComponent extends MyCocosSceneComponent { ...@@ -877,10 +884,13 @@ export default class SceneComponent extends MyCocosSceneComponent {
play.active = false; play.active = false;
stop.active = true; stop.active = true;
this.checkCardsTime = 9999999; this.checkCardsTime = 9999999;
pg.audio.playAudioByUrl(recordData.audioUrl, () => { pg.audio.playAudioByUrl(recordData.audioUrl, (duration) => {
this.currentCard = null; this.currentCard = null;
this.checkCardsTime = 3; this.checkCardsTime = 3;
this.onTouchCardPlayEnd(layer); this.onTouchCardPlayEnd(layer);
addSRAudioDuration(recordData.audioUrl, duration);
}, (audioId) => { }, (audioId) => {
this.currentPlayAudioId = audioId; this.currentPlayAudioId = audioId;
}) })
......
...@@ -168,7 +168,8 @@ export class MyCocosSceneComponent extends cc.Component { ...@@ -168,7 +168,8 @@ export class MyCocosSceneComponent extends cc.Component {
const audioId = cc.audioEngine.play(audioClip, false, 0.8); const audioId = cc.audioEngine.play(audioClip, false, 0.8);
if (cb) { if (cb) {
cc.audioEngine.setFinishCallback(audioId, () => { cc.audioEngine.setFinishCallback(audioId, () => {
cb(); const duration = cc.audioEngine.getDuration(audioId);
cb(duration);
}); });
} }
}); });
...@@ -176,6 +177,12 @@ export class MyCocosSceneComponent extends cc.Component { ...@@ -176,6 +177,12 @@ export class MyCocosSceneComponent extends cc.Component {
cb && cb(); cb && cb();
} }
} }
getAudioDuration(audio_url) {
const audioId = cc.audioEngine.play(audio_url, false, 0.01);
const duration = cc.audioEngine.getDuration(audioId);
return duration;
}
} }
......
...@@ -473,6 +473,38 @@ export function showTips(tips) { ...@@ -473,6 +473,38 @@ export function showTips(tips) {
} }
} }
export function setSRRecord(key, value) {
const middleLayer = cc.find('middleLayer');
if (middleLayer) {
const middleLayerComponent = middleLayer.getComponent('middleLayer');
middleLayerComponent.setSRRecord(key, value);
} else {
console.log('setSRRecord');
}
}
export function addSRAudioDuration(key, value) {
const middleLayer = cc.find('middleLayer');
if (middleLayer) {
const middleLayerComponent = middleLayer.getComponent('middleLayer');
middleLayerComponent.addSRAudioDuration(key, value);
} else {
console.log('addSRAudioDuration');
}
}
export function showSRResult() {
const middleLayer = cc.find('middleLayer');
if (middleLayer) {
const middleLayerComponent = middleLayer.getComponent('middleLayer');
middleLayerComponent.showSRResultByRecord();
} else {
console.log('addSRAudioDuration');
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment