编程语言
首页 > 编程语言> > 是mp4parser java库有android版本

是mp4parser java库有android版本

作者:互联网

我正在尝试在android中使用mp4parser库,我遇到了一些困难.
我猜它是因为mp4parser是一个基于java的项目,还没有适应android.

PS-mp4parser在世界范围内传播,甚至被Instagram使用

我的结论基于以下代码:

 public PropertyBoxParserImpl(String... customProperties) {
    InputStream is = getClass().getResourceAsStream("/assets/isoparser-default.properties");
    mapping = new Properties();
    try {
        mapping.load(is);
        Enumeration<URL> enumeration = Thread.currentThread().getContextClassLoader().getResources("isoparser-custom.properties");

        while (enumeration.hasMoreElements()) {
            URL url = enumeration.nextElement();
            mapping.load(url.openStream());
        }
        for (String customProperty : customProperties) {
            mapping.load(getClass().getResourceAsStream(customProperty));
        }
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}

isoparser-default.properties是一个reflaction映射:

hint=com.coremedia.iso.boxes.TrackReferenceTypeBox(type)
cdsc=com.coremedia.iso.boxes.TrackReferenceTypeBox(type)
meta-ilst=com.coremedia.iso.boxes.apple.AppleItemListBox()
-----name=com.coremedia.iso.boxes.apple.AppleNameBox()
-----mean=com.coremedia.iso.boxes.apple.AppleMeanBox()
-----data=com.coremedia.iso.boxes.apple.AppleDataBox()
rmra=com.coremedia.iso.boxes.apple.AppleReferenceMovieBox()
rmda=com.coremedia.iso.boxes.apple.AppleReferenceMovieDescriptorBox()
rmdr=com.coremedia.iso.boxes.apple.AppleDataRateBox()
rdrf=com.coremedia.iso.boxes.apple.AppleDataReferenceBox()

在Android中你不能发起一个链接到本地​​类和mehod的URL并加载它
上面的PropertyBoxParserImpl()可以.

所以我猜我只需要改变以下功能,有没有人在使用mp4parser时遇到这些问题?

解决方法:

是的你可以.下载isoparser-1.0-RC-27.jar和aspectj-rt.jar,并将它们包含在libs文件夹中.

http://repo1.maven.org/maven2/org/aspectj/aspectjrt/1.7.3/

http://repo1.maven.org/maven2/com/googlecode/mp4parser/isoparser/

标签:android,mp4parser
来源: https://codeday.me/bug/20190718/1492041.html