ソースを参照

:bug: 修复audio标签的onended事件在电视上获取失败问题

zhanghe 6 年 前
コミット
c026e31202

+ 4 - 2
src/stage/index/scene/AudioWareFullScreenScene.js

@@ -96,9 +96,11 @@ class AudioWareFullScreenScene extends scene {
             // 监听onended事件
             let audioDom = document.getElementById('courseware-audio');
             if (audioDom) {
-                audioDom.onended = function () {
+                audioDom.addEventListener('ended', function () {
+                    TVUtil.Toast.show('播放结束', 1500);
                     document.getElementById('audio-play').classList.add('paused');
-                }
+                    audioDom.currentTime = 0;
+                }, false);
             }
             // 指定光标位置
             if (focusTarget && this.moye.root.getWidgetById(focusTarget)) {

+ 4 - 2
src/stage/index/scene/LessonScene.js

@@ -256,9 +256,11 @@ class LessonScene extends scene {
             // 监听onended事件
             let audioDom = document.getElementById('courseware-audio');
             if (audioDom) {
-                audioDom.onended = function () {
+                audioDom.addEventListener('ended', function () {
+                    TVUtil.Toast.show('播放结束', 1500);
                     document.getElementById('audio-play').classList.add('paused');
-                }
+                    audioDom.currentTime = 0;
+                }, false);
             }
             // 指定光标位置
             if (focusTarget && this.moye.root.getWidgetById(focusTarget)) {