NativeScript / NativeScript/plugins

[@nativescript/imagepicker] MediaMetadataRetriever.setDataSource fails with status = 0xFFFFFFEA

未关闭
#657 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
TypeScript
星标
206
派生
123
平均合并
2 天 1 小时
30 天内合并 PR
1

描述

Device: Samsung S21

Description

When selecting a video using @nativescript/imagepicker, the returned file path is a content:// URI.
Calling Android APIs such as:

android.media.MediaMetadataRetriever.setDataSource(item.path);

or

android.media.ThumbnailUtils.createVideoThumbnail(item.path, ...)

throws:

Error: java.lang.RuntimeException: setDataSource failed: status = 0xFFFFFFEA

This happens because these overloads expect a real filesystem path, not a content:// URI.

Steps to Reproduce

Create imagepicker:

let imagePickerObj = imagePickerPlugin.create({
          mode: "multiple",  android: { use_photo_picker: true }});

Pick a video from gallery.

Try to generate metadata or thumbnail:

let retriever = new android.media.MediaMetadataRetriever();
retriever.setDataSource(item.path); // crashes

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

从 @nativescript/imagepicker 对 use_photo_picker 的 Android 处理开始,跟踪所选视频的 item.path 是如何返回的。使用 MediaMetadataRetriever.setDataSource(item.path) 和 ThumbnailUtils.createVideoThumbnail 重现失败;完成标准是,所选视频可以传递给 Android 元数据或缩略图 API,而不会出现报告的状态错误。

由索引模型根据 Issue 内容生成。

评估

技术栈
android, typescript
领域
mobile
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
38/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。