|
@@ -1,3 +1,5 @@
|
|
|
|
|
+import { nextTick } from "vue";
|
|
|
|
|
+
|
|
|
let audioContext = null;
|
|
let audioContext = null;
|
|
|
let code = null; // 身份标识
|
|
let code = null; // 身份标识
|
|
|
audioContext = uni.createInnerAudioContext(); // 单例模式[3](@ref)
|
|
audioContext = uni.createInnerAudioContext(); // 单例模式[3](@ref)
|
|
@@ -9,6 +11,10 @@ audioContext.onPlay(() => {
|
|
|
// 播放
|
|
// 播放
|
|
|
uni.$emit('result-audio-play', code);
|
|
uni.$emit('result-audio-play', code);
|
|
|
});
|
|
});
|
|
|
|
|
+audioContext.onError((err) => {
|
|
|
|
|
+ // 播放
|
|
|
|
|
+ uni.$emit('result-audio-ended', code)
|
|
|
|
|
+});
|
|
|
|
|
|
|
|
const audioList = {
|
|
const audioList = {
|
|
|
right: '/static/mp3/newYingyu/right-tip.mp3',
|
|
right: '/static/mp3/newYingyu/right-tip.mp3',
|
|
@@ -20,6 +26,24 @@ export const resultImageList = {
|
|
|
wrong: '/static/images/study/cjdc/error-tip-img-gif'
|
|
wrong: '/static/images/study/cjdc/error-tip-img-gif'
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+function createAudioNew() {
|
|
|
|
|
+ audioContext = uni.createInnerAudioContext(); // 单例模式[3](@ref)
|
|
|
|
|
+ audioContext.onEnded(() => {
|
|
|
|
|
+ // 播放结束
|
|
|
|
|
+ uni.$emit('result-audio-ended', code)
|
|
|
|
|
+ })
|
|
|
|
|
+ audioContext.onPlay(() => {
|
|
|
|
|
+ // 播放
|
|
|
|
|
+ uni.$emit('result-audio-play', code);
|
|
|
|
|
+ });
|
|
|
|
|
+ audioContext.onError((err) => {
|
|
|
|
|
+ // 播放
|
|
|
|
|
+ console.log('errr',err)
|
|
|
|
|
+ uni.$emit('result-audio-ended', code);
|
|
|
|
|
+ });
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
|
|
|
export class resultAudioPlayer {
|
|
export class resultAudioPlayer {
|
|
|
// 播放音频
|
|
// 播放音频
|
|
@@ -29,8 +53,16 @@ export class resultAudioPlayer {
|
|
|
codeT
|
|
codeT
|
|
|
};
|
|
};
|
|
|
if (audioContext.src === audioList[codeT] && !audioContext.paused) return;
|
|
if (audioContext.src === audioList[codeT] && !audioContext.paused) return;
|
|
|
- audioContext.src = audioList[codeT];
|
|
|
|
|
- audioContext.play();
|
|
|
|
|
|
|
+ audioContext.stop();
|
|
|
|
|
+ audioContext.destroy();
|
|
|
|
|
+ audioContext = null;
|
|
|
|
|
+
|
|
|
|
|
+ nextTick(() => {
|
|
|
|
|
+ createAudioNew();
|
|
|
|
|
+ audioContext.src = audioList[codeT];
|
|
|
|
|
+ audioContext.play();
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 暂停播放
|
|
// 暂停播放
|