HarmonyOS 鸿蒙Next Video组件多次切换不可播放的m3u8播放地址后会直接闪退,mp4地址不会
HarmonyOS 鸿蒙Next Video组件多次切换不可播放的m3u8播放地址后会直接闪退,mp4地址不会 页面一点击黑色块跳转至页面二。在页面二内重复点击蓝色块切换可播放MP4地址时一切正常,点击红色块切换不可播放m3u8地址,多次之后直接闪退。
具体可参考附件视频,点击红色块切换不可播放的m3u8地址约在13秒时闪退,随后点击蓝色块切换可播放的MP4地址,直至58秒停止点击时仍然正常。
index.ts
import { router } from '@kit.ArkUI'
@Component
export struct ReportComponent {
build() {
Column(){
List(){
ListItem(){
Row()
.width(400)
.height(50)
.onClick(()=>{
this.jumpPage()
})
.backgroundColor(Color.Black)
}
.width('100%')
.height('200%')
}
.width('100%')
.height('100%')
}
.width('100%')
.height('100%')
}
jumpPage(){
router.pushUrl({url:'pages/Page2'})
}
}
Page2.ts
@Component
struct Page2 {
videoArray = [
"https://live-ws.kksmg.com/live/stream1/playlist.m3u8?wsSecret=6b4ca6ec4bd3f7d7b5841029f8ae9fe1&wsTime=1719383405",
"https://live-volc.kksmg.com/live/stream1/index.m3u8?volcSecret=35b0e079526cfdff48453600664aa88b&volcTime=1719383405"
]
videoArray2 = [
"https://mediaplay.kksmg.com/2023/07/17/h264_720p_600k_53867-smgnews-20230717172000-4800-570416-600k_mp4.mp4",
"https://mediaplay.kksmg.com/2023/07/17/h264_720p_600k_53867-smgnews-20230717172000-4800-570417-600k_mp4.mp4"
]
@State index:number = 0
@State index2:number = 0
build() {
Column(){
Video({src:this.videoArray[this.index]})
.width('100%')
.height(200)
.autoPlay(true)
Row()
.backgroundColor(Color.Red)
.width('100%')
.height(50)
.onClick(()=>{
this.changeVideoLink()
})
Video({src:this.videoArray2[this.index2]})
.width('100%')
.height(200)
.autoPlay(true)
Row()
.backgroundColor(Color.Blue)
.width('100%')
.height(50)
.onClick(()=>{
this.changeVideoLink2()
})
}
.height('100%')
.width('100%')
}
changeVideoLink(){
this.index += 1
if (this.index == 2) {
this.index = 0
}
}
changeVideoLink2(){
this.index2 += 1
if (this.index2 == 2) {
this.index2 = 0
}
}
}
更多关于HarmonyOS 鸿蒙Next Video组件多次切换不可播放的m3u8播放地址后会直接闪退,mp4地址不会的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
可以升级之后再尝试
更多关于HarmonyOS 鸿蒙Next Video组件多次切换不可播放的m3u8播放地址后会直接闪退,mp4地址不会的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
针对HarmonyOS鸿蒙Next Video组件在多次切换m3u8播放地址后出现的闪退问题,而mp4地址无此现象,可能的原因及解决方案如下:
原因推测:
- 内存泄漏:在频繁切换m3u8地址时,可能存在内存未正确释放的情况,导致内存累积消耗直至应用崩溃。
- 解码器问题:m3u8作为HLS(HTTP Live Streaming)流格式,其解码处理可能较mp4更为复杂,组件在处理多次切换时可能遇到解码器状态管理不当的问题。
- 资源管理不当:组件在切换播放源时未能正确管理音视频资源,如未释放旧资源即尝试加载新资源,导致冲突或资源耗尽。
解决方案尝试:
- 优化资源管理:确保在切换播放地址前,正确释放当前播放器的所有资源。
- 更新组件版本:检查是否有鸿蒙Next Video组件的更新版本,新版本可能修复了此类问题。
- 异常捕获:在切换播放地址的代码逻辑中加入异常捕获机制,记录并分析异常信息,以便定位具体问题。
如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html,