【问题标题】:How to set cover art to mp4 media file jcodec-android如何将封面艺术设置为 mp4 媒体文件 jcodec-android
【发布时间】:2018-08-01 13:49:29
【问题描述】:

我正在使用jcodec

我正在尝试将封面艺术设置为 mp4 文件,但它不起作用。我做了以下事情:

fun AppCompatActivity.setAlbumCover(filePath: String) {
    try {
        val file = File(filePath)
        val bitmap = ThumbnailUtils.createVideoThumbnail(file.absolutePath, MediaStore.Video.Thumbnails.MINI_KIND)
        if (bitmap != null) {
            val byteArrayOutputStream = ByteArrayOutputStream()
            bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream)
            val byteArray = byteArrayOutputStream.toByteArray()
            val base64Str = Base64.encodeToString(byteArray, Base64.DEFAULT)
            if (base64Str != null) {
                val mediaMeta = MetadataEditor.createFrom(file)
                if (mediaMeta != null) {
                    val meta = mediaMeta.keyedMeta
                    if (meta != null) {
                        meta["coverart"] = MetaValue.createString(base64Str)
                    }
                    mediaMeta.save(false)
                }
            }
        }
    } catch (e: Exception) {
        e.printStackTrace()
    }
}

之后,我将此视频上传到服务器,当我使用 MediaMetadataRetriever::getEmbededPicture 从视频 URL 加载缩略图时。它应该返回byte[] 而不是null

如何做到这一点?

【问题讨论】:

    标签: android kotlin metadata media jcodec


    【解决方案1】:

    使用 iTunes 元数据和代码 0x636F7672。

    例如:

    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    coverBitmap.compress(Bitmap.CompressFormat.JPEG, 100,byteArrayOutputStream);
    MetaValue coverMetaValue = MetaValue.createOther(MetaValue.TYPE_JPEG, byteArrayOutputStream.toByteArray());
    
    MetadataEditor metadataEditor = MetadataEditor.createFrom(new File(url));
    metadataEditor.getItunesMeta().put(0x636F7672 , coverMetaValue); 
    metadataEditor.save(false);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-03
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 2012-07-15
      • 1970-01-01
      • 1970-01-01
      • 2011-09-26
      相关资源
      最近更新 更多