uni-app uni.createVideoContext 创建视频对象 ios无法播放 微信小程序 和app都不行

uni-app uni.createVideoContext 创建视频对象 ios无法播放 微信小程序 和app都不行

开发环境 版本号 项目创建方式
Windows win10 HBuilderX
产品分类:uniapp/App

PC开发环境操作系统:Windows

PC开发环境操作系统版本号:win10

HBuilderX类型:正式

HBuilderX版本号:4.75

手机系统:全部

手机厂商:华为

页面类型:vue

vue版本:vue3

打包方式:云端

项目创建方式:HBuilderX

测试过的手机:ios 13 ios15pro

操作步骤:
const handleAudio = (ref, item, list) => {
return new Promise((resolve, reject) => {
const player = uni.createVideoContext(ref);
// 统一播放/暂停操作
const operation = item.playFlag ? 'pause' : 'play';

setTimeout(() => {  
    player[operation]();  
}, 500);  

// 切换当前项状态  
item.playFlag = !item.playFlag;  

// 重置其他项状态  
const playTarget = list.find(ite => ite.name !== item.name && ite.playFlag)  
if (playTarget) playTarget.playFlag = false  

resolve(player)  
});  
}
预期结果:可以播放

实际结果:无法播放

更多关于uni-app uni.createVideoContext 创建视频对象 ios无法播放 微信小程序 和app都不行的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

你好,有什么报错信息吗?

更多关于uni-app uni.createVideoContext 创建视频对象 ios无法播放 微信小程序 和app都不行的实战教程也可以访问 https://www.itying.com/category-93-b0.html


没有报错。就是播不出来 也没声音

在iOS设备上使用uni.createVideoContext出现播放问题,通常与视频格式、路径或组件渲染时机有关。根据你的代码,以下排查方向可能有效:

  1. 视频格式兼容性
    iOS对视频格式要求严格,仅支持MP4(H.264编码)和MOV。检查视频是否为MP4/H.264,可通过工具(如FFmpeg)验证编码格式。

  2. 视频路径问题
    网络视频需确认域名已配置在request合法域名中,且支持HTTPS。本地视频建议使用绝对路径(如/static/video.mp4),避免使用../相对路径。

  3. 组件渲染与API调用时机
    使用setTimeout延迟操作可能因组件未渲染完成导致失败。可尝试在onReady生命周期中调用,或使用nextTick确保组件已挂载:

    import { nextTick } from 'vue';
    await nextTick();
    player[operation]();
    
  4. 视频上下文获取方式
    createVideoContextref参数需与<video>组件的id一致(非ref绑定值),且建议在onReady后调用。示例:

    <video :id="refId" src="..."></video>
回到顶部