12 回复
我自己直接写个按钮使用 uni.chooseVideo 这个方法也是这个弹窗
H5是吧?
回复 襄阳老农: 试试微信的 jssdk
回复 DCloud_UNI_GSQ: 好的 谢谢!
<input type="file" accept="video/*" capture="environment" />
或者
const fileDom = document.createElement('input');
fileDom.type = 'file';
fileDom.accept = 'video/*';
fileDom.capture = 'environment';
fileDom.value = ‘’;
fileDom.style.height = ‘0’;
fileDom.style.width = ‘0’;
fileDom.style.position = ‘absolute’;
fileDom.style.opacity = 0;
(document.querySelector(‘uni-app’) || document.body).appendChild(fileDom);
fileDom.click();
好的 谢谢!
如果只想用选择视频的功能,怎么解决
你好,怎么解决的
没解决呢,这个问题没有进一步了解了
在 UniApp 中,如果你遇到在企业微信中无法录制视频的问题,可能是由于以下原因之一导致的。以下是一些可能的解决方案和排查步骤:
1. 检查企业微信的权限问题
- 企业微信可能没有正确获取摄像头和麦克风的权限。
- 解决方案:
- 确保企业微信已经获取了摄像头和麦克风的权限。
- 在企业微信中,进入设置 -> 权限管理,检查并开启相关权限。
2. UniApp 的 API 兼容性问题
- UniApp 提供的
uni.chooseVideo
或uni.createCameraContext
可能在企业微信中不兼容。 - 解决方案:
- 使用企业微信提供的原生 API 进行录制。
- 使用
wx.chooseVideo
或wx.createCameraContext
来替代 UniApp 的 API(需要判断运行环境为企业微信)。
3. 企业微信 SDK 的集成
- 如果需要更高级的功能(如直接调用企业微信的录制接口),可能需要集成企业微信的 SDK。
- 解决方案:
- 参考企业微信的官方文档,集成 SDK。
- 使用企业微信提供的
wx.startRecord
和wx.stopRecord
接口进行视频录制。
4. 运行环境判断
- 确保代码在企业微信环境中运行,而不是在普通微信或浏览器中。
- 解决方案:
- 使用
uni.getSystemInfoSync()
判断运行环境。 - 根据环境调用不同的 API。
- 使用
示例代码:
const systemInfo = uni.getSystemInfoSync();
if (systemInfo.environment === 'wxwork') {
// 企业微信环境
wx.chooseVideo({
sourceType: ['camera'],
maxDuration: 60,
success(res) {
console.log('视频录制成功', res.tempFilePath);
},
fail(err) {
console.log('视频录制失败', err);
}
});
} else {
// 其他环境
uni.chooseVideo({
sourceType: ['camera'],
maxDuration: 60,
success(res) {
console.log('视频录制成功', res.tempFilePath);
},
fail(err) {
console.log('视频录制失败', err);
}
});
}