uni-app ios运行H5 获取视频信息无效
uni-app ios运行H5 获取视频信息无效
示例代码:
uni.chooseVideo({
sourceType: ['album'],
compressed:false, // 不压缩视频
success: function (res) {
uni.getVideoInfo({
src:res.tempFilePath,
success:(e)=>{
return alert(JSON.stringify(e))
},
fail:(e)=>{
return alert('视频信息失败失败:'+JSON.stringify(e))
}
})
}
});
操作步骤:
- 在IOS浏览器运行H5
预期结果:
{
"size": 493884,
"errMsg": "getVideoInfo:ok",
"duration": 9.96,
"width": 360,
"height": 640
}
实际结果:
{
"size": 493884,
"errMsg": "getVideoInfo:ok",
}
bug描述:
安卓机没问题,仅在苹果浏览器的运行H5,获取不到视频时长信息。 在IOS浏览器运行H5返回提示结果是:{“size”:493884,“errMsg”:“getVideolnfo:ok”}。获取不到视频时长 IOS浏览器运行H5 uni.chooseVideo和uni.getVideoInfo都获取不到时长
更多关于uni-app ios运行H5 获取视频信息无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
感谢反馈,我经过测试未能复现这个问题,请问是所有的视频都不行,还是只是某些视频不行
更多关于uni-app ios运行H5 获取视频信息无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
所有视频都不行,你是在苹果IOS 浏览器H5运行吗?
回复 速翔网络: 是的,我用苹果模拟器打开的 safari 浏览器运行的
回复 JXWang: 我的用是真机呀。我客户14max也不行
你好, ios获取视频信息的问题解决了吗
我也遇到这个问题了,想请教一下
同问 ios真机实测不行
有没有解决方案
在处理 uni-app
在 iOS 上运行 H5 页面时获取视频信息无效的问题时,首先需要确认视频信息的获取方式以及可能存在的跨平台差异。通常,这类问题可能涉及到权限设置、API 兼容性或者视频标签的特定属性设置。以下是一个示例代码,展示了如何在 uni-app
的 H5 环境中获取视频信息,并包含了一些可能的解决思路。
示例代码
HTML 部分
<template>
<view>
<video
id="myVideo"
src="path/to/your/video.mp4"
controls
@loadedmetadata="onLoadedMetadata"
></video>
</view>
</template>
JavaScript 部分
<script>
export default {
methods: {
onLoadedMetadata(event) {
const video = event.target;
console.log('Video duration:', video.duration);
console.log('Video width:', video.videoWidth);
console.log('Video height:', video.videoHeight);
// 其他视频信息可以在这里获取
},
},
mounted() {
// 确保视频标签已加载完毕
const video = document.getElementById('myVideo');
// 监听其他可能的事件,如 'play', 'pause', 'ended' 等
video.addEventListener('play', () => {
console.log('Video is playing');
});
},
};
</script>
可能的解决思路
-
权限设置:
- 确保 iOS 设备上已允许浏览器访问媒体设备(虽然这更多影响摄像头和麦克风)。
-
跨平台差异:
- 检查
uni-app
官方文档,确认是否有关于 iOS 平台上视频处理的特别说明。 - 使用
uni.createVideoContext
替代原生的 HTML5<video>
标签,以利用uni-app
提供的跨平台兼容性。
- 检查
-
视频标签属性:
- 确保视频标签的
src
属性正确指向了视频文件。 - 使用
autoplay
,muted
,playsinline
等属性可能有助于在某些浏览器上正确加载视频。
- 确保视频标签的
-
调试工具:
- 使用 Safari 的开发者工具进行远程调试,检查控制台是否有错误信息。
- 确认视频文件在 iOS 设备上可访问且未损坏。
-
网络问题:
- 检查视频文件的加载是否受到网络限制,特别是在使用 HTTPS 时。
通过上述代码示例和可能的解决思路,你应该能够定位并解决 uni-app
在 iOS 上运行 H5 页面时获取视频信息无效的问题。如果问题依旧存在,建议详细检查错误日志,或者向 uni-app
社区和官方寻求更具体的帮助。