在 Android 中为 MP4 分配目录缩略图?

发布于 2024-12-07 21:36:10 字数 131 浏览 0 评论 0原文

我正在尝试分配一个特定的缩略图来表示 android 目录中的媒体文件(mp4)。默认情况下,我相信android会使用第一帧。

我尝试过元数据/标签但无济于事。

如果您有解决方案,请告诉我,我将永远感激您。谢谢你!

I'm trying to assign a specific thumbnail image to represent the media file (mp4) within the android directory. By default, I believe android will use the first frame.

I've tried metadata/tags to no avail.

Please let me know if you have a solution, and I will be forever in your gratitude. Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

九命猫 2024-12-14 21:36:10

http://code.google.com/p/mp4parser/

这是代码的一部分我用过:

String filepath = "/yourFilePathHere/yourFileNameHere.ext";
File sourceFile = new File ( filepath );

IsoBufferWrapper isoBufferWrapper = new IsoBufferWrapperImpl( sourceFile );
IsoFile isoFile = new IsoFile(isoBufferWrapper);
isoFile.parse();

AppleItemListBox appleItemListBox = (AppleItemListBox) IsoFileConvenienceHelper.get(isoFile, "moov/udta/meta/ilst");
AppleCoverBox coverBox = (AppleCoverBox) IsoFileConvenienceHelper.get (appleItemListBox, AppleCoverBox.TYPE);

List<Box> dataBoxes = coverBox.getBoxes();
byte[] coverBoxByte = null;
if (dataBoxes != null && dataBoxes.size() > 0) {
    AppleDataBox dataBox = (AppleDataBox)dataBoxes.get(0);
    coverBoxByte = dataBox.getContent();
}

Bitmap icon = null;
if (coverBoxByte != null){
    icon = BitmapFactory.decodeByteArray(coverBoxByte, 0, coverBoxByte.length);
}

http://code.google.com/p/mp4parser/

This is part of the code I used:

String filepath = "/yourFilePathHere/yourFileNameHere.ext";
File sourceFile = new File ( filepath );

IsoBufferWrapper isoBufferWrapper = new IsoBufferWrapperImpl( sourceFile );
IsoFile isoFile = new IsoFile(isoBufferWrapper);
isoFile.parse();

AppleItemListBox appleItemListBox = (AppleItemListBox) IsoFileConvenienceHelper.get(isoFile, "moov/udta/meta/ilst");
AppleCoverBox coverBox = (AppleCoverBox) IsoFileConvenienceHelper.get (appleItemListBox, AppleCoverBox.TYPE);

List<Box> dataBoxes = coverBox.getBoxes();
byte[] coverBoxByte = null;
if (dataBoxes != null && dataBoxes.size() > 0) {
    AppleDataBox dataBox = (AppleDataBox)dataBoxes.get(0);
    coverBoxByte = dataBox.getContent();
}

Bitmap icon = null;
if (coverBoxByte != null){
    icon = BitmapFactory.decodeByteArray(coverBoxByte, 0, coverBoxByte.length);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文