javascript - Javascript 中的图像捕获 Api 无法在 iPhone 上捕获最高分辨率的图像
问题描述
我一直在尝试使用图像捕获 api,特别是 pollyfill ( https://github.com/GoogleChromeLabs/imagecapture-polyfill ),从视频流中捕获图像。有适用于桌面和安卓的代码。在 iphone 上使用它时遇到问题,捕获的图像分辨率默认为 1080p。我在 iphone se 1st gen 和 iphone 12 pro 上测试了该应用程序,两者都产生了 1080p 分辨率的图像。以手机硬件支持的最高分辨率捕获图像会很棒。这是代码的快照
import { ImageCapture } from 'image-capture';
async imageCaptureBase64(mediaStream: MediaStreamTrack): Promise<string> {
const captureDevice = new ImageCapture(mediaStream);
const imageBlob = await captureDevice.takePhoto();
const base64String = await this.blobToBase64(imageBlob);
return base64String;
}
async blobToBase64(blob) : Promise<string> {
return new Promise((resolve, _) => {
const reader = new FileReader();
//@ts-ignore
reader.onloadend = () => resolve(reader.result);
reader.readAsDataURL(blob);
});
}
感谢您的检查!
解决方案
推荐阅读
- reactjs - 反应组件没有显示,也没有给出任何错误
- java - 如何在我的 Spring Boot 代码中处理 amazon s3 存储桶的 404 错误
- java - jenkins-job-builder 在使用凭证插件时生成错误的 xml
- html - 在 IE11 中使用 flex 时菜单项重叠
- java - 如何使用解析制作一个简单的 Twitter 克隆应用程序?
- php - 为 docker docker-compose php-fpm 启用 Soap 客户端
- php - 类似类的类名和文件名的 PSR
- qliksense - qliksense : 在内部网站中嵌入 qlik 仪表板
- typescript - 我如何模拟 angular-auth-oidc 客户端以返回假数据
- mlflow - 运行初始创建后是否可以设置/更改 mlflow 运行名称?