遇到的问题:ios加载完视频播放的瞬间,画面由小变大的显示,导致视觉效果不是很好。Android没有这种问题。如图:


使用的技术:使用uniapp+swiper+video来做上下切换的多视频播放,不是多个video预加载,只使用一个video,视频源使用加密的.m3u8视频,为了处理ios能自动播放,使用hls.js来处理视频源。

请问有没有好朋友遇到过这种问题?
遇到的问题:ios加载完视频播放的瞬间,画面由小变大的显示,导致视觉效果不是很好。Android没有这种问题。如图:


使用的技术:使用uniapp+swiper+video来做上下切换的多视频播放,不是多个video预加载,只使用一个video,视频源使用加密的.m3u8视频,为了处理ios能自动播放,使用hls.js来处理视频源。

请问有没有好朋友遇到过这种问题?
以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:
您提问的目的是解决在使用uni-app结合swiper和video组件进行上下切换的多视频播放时,在iOS设备上遇到的播放问题。具体问题是在iOS设备上加载视频后,播放瞬间画面会由小变大,造成视觉效果不佳,而Android设备上没有这个问题。
问题可能出现的原因有:
由于没有具体的代码示例,只能提供一些可能的解决方案的代码片段:
// 确保video元素的尺寸在iOS上是固定的
video {
max-width: 100%;
height: auto;
}
// 检查hls.js的初始化配置
if (Hls.isSupported()) {
var video = document.getElementById('myVideo');
var hls = new Hls();
hls.loadSource('path_to_encrypted_m3u8_source');
hls.attachMedia(video);
hls.on(Hls.Events.MANIFEST_PARSED, function () {
video.play();
});
hls.on(Hls.Events.ERROR, function (event, data) {
if (data.fatal) {
switch(data.type) {
case Hls.ErrorTypes.NETWORK_ERROR:
// 尝试重连
break;
case Hls.ErrorTypes.MEDIA_ERROR:
break;
default:
hls.destroy();
}
}
});
}
预期结果是视频在iOS设备上播放时,画面尺寸保持稳定,不再出现由小变大的问题,提供平滑的播放体验。