博客 RSS 订阅

媒体捕获插件 5.0.0 发布!
作者:Bryan Ellis
2023年8月18日

我们很高兴地宣布,我们刚刚发布了 cordova-plugin-media-capture 的更新!

如何升级

cordova plugin remove cordova-plugin-media-capture
cordova plugin add [email protected]

版本亮点

重大变更

  • Android 13+ 支持

    从 Android 13(SDK 33)开始,READ_EXTERNAL_STORAGE 权限不再起任何作用。相反,此权限已被更精细的权限所取代:READ_MEDIA_IMAGESREAD_MEDIA_VIDEOREAD_MEDIA_AUDIO。此外,WRITE_EXTERNAL_STORAGE 权限从 API 级别 30 及以上版本开始已停止提供写入访问权限

    为了适应这一变化,我们引入了这三个新的权限。这确保了与读取各种媒体文件相关的现有功能和行为在 Android 13 及更高版本中得以保留。

    READ_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE 权限仍然被定义,但已声明了 maxSdkVersion 属性,其值为 32,以确保它们不会在 API 33 或更高版本中使用。

    此外,为了支持 Android 13(SDK 33)上的新的精细权限,我们将 cordova-android 的最低版本要求提高到 12.0.0。这个版本的 Cordova-Android 特别包含了处理 Android 13 并使用新权限成功编译你的项目所需的必要更新。

功能 & 修复

  • 为 iOS 添加了视频 quality 选项

    现在,你可以更改 iOS 上捕获的视频质量。默认情况下,它将捕获最高质量的视频。

  • 修复了各种 iOS 崩溃问题

    为了提高 iOS 上的稳定性和用户体验,我们进行了一些修复。以下是一些示例更改:

    1. 实现一个警报对话框,以指导用户启用必要的权限(如果他们之前拒绝了这些权限)。当用户尝试使用捕获功能时,会发生这种情况。
    2. 改进音频捕获界面的布局,以适应并使用整个设备屏幕。
    3. 实施保护措施,以防止在音频数据不可用的情况下应用程序崩溃,从而确保更流畅、更可靠的用户体验。
    4. 实施措施以维护捕获功能,即使在用户通过滑动关闭捕获窗口时也能保持其功能,确保一致且不间断的功能。

请按照此如何提交错误指南报告你发现的任何问题!

更改日志

重大变更

  • GH-274 feat(android)!: 提升文件和Android要求
  • GH-262 feat(android)!: 支持 API 33+ 权限

功能

  • GH-214 feat(ios): 支持视频捕获 'quality' 参数
  • GH-256 feat(ios): 改进 Localizable.strings & 添加 FR

修复

  • GH-184 fix(ios): 主线程的 UI 问题,并为权限添加警报。
  • GH-279 fix(ios): 根据父视图大小调整音频捕获控制器的 UI 大小
  • GH-278 fix(ios): 通过滑动关闭模态时出现 CAPTURE_APPLICATION_BUSY 错误
  • GH-197 fix(ios): 为捕获的音频设置 type 属性
  • GH-232 fix(android): 防止 intent 数据或 mediaFile 上的 NPE 导致的应用程序崩溃
  • GH-195 fix(MediaFiles): 返回缺失的 'lastModified' 和 'end' 属性
  • GH-212 fix: 在 cordovaDependencies 中使用单个版本
  • GH-269 fix(ios): 在创建 AVAudioRecorder 之前设置 category

其他更改

  • GH-276 dep: 提升 @cordova/eslint-config@^5.0.0,带有 lint 修复 & package-lock 重建
  • GH-270 chore: 更新 SUPPORT_QUESTION.md 模板
  • GH-252 chore(npm): 重建 package-lock
  • GH-273 ci: 将 github action 工作流与 paramedic 基本配置同步
  • GH-254 ci: 将工作流与 paramedic 同步
  • GH-251 ci(android): 更新 cordova-android@11 的 java 要求