使用hls播放直播流,IOS移动端播放不了
安卓可以正常播放直播。但是ios播放不了。是不是hls不支持ios
ios 原生就支持 hls,不需要 hls.js。直接像播放普通 mp4 一样,直接传给 player 一个链接就行了
@woopen 我也是这么想的,但是通过updateOptions更新后无法播放
watch(props, (n) => { unref(player).updateOptions({ live: true, videoProps: { src: n.url, } }); });
n.url是父组件通过接口传进来的。
src 是放在最外层的,不用 videoProps 包裹。另外还可以直接 player.video.src = newSrc
@woopen 我试过还是不行
unref(player).updateOptions({ live: true, src: n.url, });
网络有去请求了一次直播地址,然后就没了。
<NPlayer :options="{ scr: url, shortcut: false, seekStep: 0 }" :set="setPlayer" />
const setPlayer = (p: any) => { player.value = p; video.value = p.video; }
`watch(props, (n) => { console.log("变化:", n.url);
unref(player).updateOptions({ live: true, src: n.url, });
// unref(player).video.src = n.url });`
有报错吗?是不是 m3u8 链接?
没有报错,也能请求成功,但就没有后续了,正常hls流应该是分段一直请求。这个流是没问题的,保证可以播放。 即使不从父组件传递过来,直接src:'xxx.m3u8' 给链接也是一样的效果。 但如果是原生的video组件是可以
在onMounted的时候去更新地址可以播放,但换成安卓无法播放了。心态炸了
安卓不原生支持 hls,需要用 hls.js 才行