问题描述
ios使用video标签,播放直播视频,视频流格式为 m3u8 ,默认的解码器无法解码。导致没有实际的视频内容画面。使用 videojs 处理。
<video
webkit-playsinline
playsinline
disablePictureInPicture="true"
autoplay
id="live-video"
style="width: 100%; height: 100%"
></video>
let option = {
autoplay: true,
mute: true,
preload: "auto",
controls: false,
suppressNotSupportedError: true,
};
this.player = Videojs("live-video", option);
this.player.src([
{
src: this.liveUrl,
type: "application/x-mpegURL",
},
]);
通过volume属性控制音量大小,在videojs中则是通过volume方法来获取和修改音量大小。
this.player.volume(0.5);
this.player.volume();
console.log(this.player.volume()); // 0.5
获取到的值是修改过后的值,但是通过拖动音量条,音量大小没有发生变化。
就算设置为0,音量大小也没有发生变化。
验证是否是系统问题,在安卓机上测试,没有问题,可以通过volume修改音量大小。
猜测是ios的限制,去mdn查看属性的描述和各系统的支持情况。
mdn对volume属性介绍
发现 volume 可读写,但是不产生实际效果。。。。
所以只能通过原生去控制系统音量的大小。