Commit a1927dd398691b6d32b7977e45140d8935b14c98
Merge branch 'fix/DEFECT-1969' into 'main_dev'
fix: 隐藏视频组件无视频流时界面提示 See merge request yunteng/thingskit-front!1277
Showing
2 changed files
with
31 additions
and
10 deletions
@@ -94,8 +94,9 @@ | @@ -94,8 +94,9 @@ | ||
94 | 94 | ||
95 | function onDecodeError() { | 95 | function onDecodeError() { |
96 | console.warn('player happend decode error'); | 96 | console.warn('player happend decode error'); |
97 | - playerRef.value?.destroy?.(); | ||
98 | - initializePlayer(); | 97 | + // playerRef.value?.destroy?.(); |
98 | + // initializePlayer(); | ||
99 | + playerRef.value?.switchURL(props.url!); | ||
99 | } | 100 | } |
100 | 101 | ||
101 | function initializePlayer() { | 102 | function initializePlayer() { |
@@ -114,11 +115,31 @@ | @@ -114,11 +115,31 @@ | ||
114 | emits('ready', player); | 115 | emits('ready', player); |
115 | }); | 116 | }); |
116 | 117 | ||
117 | - player.on(Events.ERROR, (error: IError) => { | ||
118 | - // https://h5player.bytedance.com/api/error.html#type | ||
119 | - if (error.errorCode === 5103) { | ||
120 | - onDecodeError(); | ||
121 | - } | 118 | + player.setEventsMiddleware({ |
119 | + error: (event, callback) => { | ||
120 | + const code = ( | ||
121 | + event as unknown as { | ||
122 | + error: MediaError; | ||
123 | + } | ||
124 | + ).error.code; | ||
125 | + if (code === MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED) { | ||
126 | + if (!props.url) { | ||
127 | + return; | ||
128 | + } | ||
129 | + callback(); | ||
130 | + return; | ||
131 | + } | ||
132 | + | ||
133 | + if (code === MediaError.MEDIA_ERR_DECODE) { | ||
134 | + // 视频流可以播放 中途解码失败重载 | ||
135 | + if (playerRef.value?.isPlaying) { | ||
136 | + onDecodeError(); | ||
137 | + } | ||
138 | + return; | ||
139 | + } | ||
140 | + | ||
141 | + callback(); | ||
142 | + }, | ||
122 | }); | 143 | }); |
123 | 144 | ||
124 | player.on(Events.PAUSE, () => { | 145 | player.on(Events.PAUSE, () => { |
@@ -293,9 +293,9 @@ | @@ -293,9 +293,9 @@ | ||
293 | height: 100%; | 293 | height: 100%; |
294 | } | 294 | } |
295 | 295 | ||
296 | - .split-screen-mode:deep(.ant-spin-container) { | ||
297 | - height: 100% !important; | ||
298 | - } | 296 | + // .split-screen-mode:deep(.ant-spin-container) { |
297 | + //height: 100% !important; | ||
298 | + // } | ||
299 | 299 | ||
300 | .video-container { | 300 | .video-container { |
301 | .video-container-mask { | 301 | .video-container-mask { |