Commit ab109e70 authored by limingzhe's avatar limingzhe

fix: 录音异常兼容处理

parent 4f4ce7d2
No preview for this file type
......@@ -458,25 +458,60 @@ export default class SceneComponent extends MyCocosSceneComponent {
this.layout_loading.active = true;
if (window['courseware']) {
window['courseware'].stopTest((res) => {
const overtime = 7;
let isStopTest = false;
let overtimeId = setTimeout(() => {
if (isStopTest) {
return;
}
isStopTest = true;
this.isRecording = false;
res = JSON.parse(res);
}, overtime * 1000);
let list = Game.getIns().lists
if (res && res.audioUrl) {
list[this.page].recordAudio = res.audioUrl;
list[this.page].recordScore = res.overall;
// this.resetRecord();
}
this.showRecordEnd(res);
for (let i = 0; i < list.length; i++) {
if (!list[i].recordAudio || list[i].recordAudio == "") return;
}
let send: any = {};
send.details = list;
onHomeworkFinish(send);
});
window['courseware'].stopTest(data => {
if (isStopTest) {
return;
}
isStopTest = true;
clearTimeout(overtimeId);
console.log('stopTest data: ', data);
if (data && typeof (data) == 'string') {
console.log(JSON.parse(data));
data = JSON.parse(data)
}
this.setRecordItemAudio(data);
});
// window['courseware'].stopTest((res) => {
// this.isRecording = false;
// res = JSON.parse(res);
// let list = Game.getIns().lists
// if (res && res.audioUrl) {
// list[this.page].recordAudio = res.audioUrl;
// list[this.page].recordScore = res.overall;
// // this.resetRecord();
// }
// this.showRecordEnd(res);
// for (let i = 0; i < list.length; i++) {
// if (!list[i].recordAudio || list[i].recordAudio == "") return;
// }
// let send: any = {};
// send.details = list;
// onHomeworkFinish(send);
// });
} else {
let res = { "audioUrl": "https://staging-teach.cdn.ireadabc.com/bea0ba87bcf8bc09815f34b4790ffac9.mp3", "eof": 1, "file": "/storage/emulated/0/Android/data/com.example.oxford/cache/shengtong/gradeVoice.mp3", "result": { "duration": "2.670", "fluency": 86, "integrity": 50, "kernel_version": "3.7.1", "overall": 28, "pronunciation": 28, "resource_version": "2.3.11", "rhythm": 28, "sentences": [{ "beginIndex": 0, "details": [{ "charType": 0, "end": 0, "overall": 56, "prominence": 0, "start": 0, "word": "Good" }, { "charType": 0, "end": 0, "overall": 0, "prominence": 0, "start": 0, "word": "morning" }], "end": 0, "endIndex": 0, "overall": 28, "sentence": "Good morning", "start": 0 }], "speed": 28 }, "tokenId": "62d7a2343327934258000009" }
......@@ -488,6 +523,45 @@ export default class SceneComponent extends MyCocosSceneComponent {
}
}
setRecordItemAudio(data) {
this.isRecording = false;
if (data.errCode) {
return;
}
const audioUrl = data.audioUrl;
// 只做预加载用一下
if (!audioUrl) {
return;
}
const overall = data.result?.overall;
const integrity = data.result?.integrity;
let score = overall //integrity * 0.4 + overall * 0.6; //data.result?.overall;
let list = Game.getIns().lists;
if (audioUrl) {
list[this.page].recordAudio = audioUrl;
list[this.page].recordScore = score;
// this.resetRecord();
}
this.showRecordEnd(data);
for (let i = 0; i < list.length; i++) {
if (!list[i].recordAudio || list[i].recordAudio == "") return;
}
let send: any = {};
send.details = list;
onHomeworkFinish(send);
}
private showTip(str) {
const mdler = global["middleLayer"];
if (mdler) {
......
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