uni-app uni.chooseMedia is not a function

uni-app uni.chooseMedia is not a function

开发环境 版本号 项目创建方式
Windows Windows 11 HBuilderX
iOS iOS 17

产品分类:
uniapp/App

PC开发环境操作系统:
Windows

PC开发环境操作系统版本号:
Windows 11 家庭中文版(24H2)

HBuilderX类型:
正式

HBuilderX版本号:
4.57

手机系统:
iOS

手机系统版本号:
iOS 17

手机厂商:
苹果

手机机型:
iPhone 15

页面类型:
vue

vue版本:
vue2

打包方式:
云端

示例代码:

 uni.chooseMedia({  
    sourceType: ['camera', 'album'],  
    maxDuration: 60 * 3,  
    mediaType: ['video'],  
    success: (res) => {  
        console.log('album: ', res);  
        //录制成功  
    },  
    fail: (err) => {  
        console.log('err: ', err);  
        if (err.errMsg != 'user cancel') {  
            uni.showToast({  
                title: '视频录制失败!',  
                icon: 'none',  
            });  
        }  
    }  
}) 
```

操作步骤:

uni.chooseMedia({
sourceType: [‘camera’, ‘album’],
maxDuration: 60 * 3,
mediaType: [‘video’],
success: (res) => {
console.log('album: ', res);
//录制成功
},
fail: (err) => {
console.log('err: ', err);
if (err.errMsg != ‘user cancel’) {
uni.showToast({
title: ‘视频录制失败!’,
icon: ‘none’,
});
}
}
})
``

预期结果:

录制成功
``  

实际结果:

录制成功 ``

bug描述:

IOS,iPhone 15,17.7.2 自定义基座 (TypeError: uni.chooseMedia is not a function.)
``  

![](https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20250408/6de1d56860395363ae399f6716e3d037.png)

更多关于uni-app uni.chooseMedia is not a function的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

更多关于uni-app uni.chooseMedia is not a function的实战教程也可以访问 https://www.itying.com/category-93-b0.html


我也是这个问题啊,你们另一个回复我的 uni.chooseMedia 是uniappx的方法? 到底咋回事,我是勾选了的https://ask.dcloud.net.cn/question/208971

确认在manifest.json中“模块配置”勾选了Camera模块,提供下appid,我们查下云端打包日志

这个错误表明在iOS环境下uni.chooseMedia方法未被识别。可能的原因和解决方案:

  1. HBuilderX版本问题:确保使用最新版HBuilderX(4.57+),旧版本可能不支持此API。

  2. 自定义基座未更新

  • 删除项目下的unpackage文件夹
  • 重新制作自定义调试基座
  • 确保基座包含最新原生插件
  1. 运行环境问题
  • 尝试使用标准运行基座测试
  • 检查manifest.json中是否配置了必要的权限
  1. API兼容性
  • chooseMedia是较新的API,替代了旧的chooseVideo/chooseImage
  • 确保项目基础库版本支持该API
  1. 临时解决方案:
// 使用条件判断兼容不同平台
if(uni.chooseMedia){
    // 新API
}else{
    // 回退方案
    uni.chooseVideo({
        // 参数
    })
}
回到顶部