我试图在安卓系统中使用mp4parser库,但遇到了一些困难。我猜这是因为mp4parser是一个基于java的项目,还没有适应安卓系统。
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);
}
}属性是一个自反作用映射:
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时解决了这些问题?
发布于 2014-06-09 12:25:07
可以,停那儿吧。下载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/
https://stackoverflow.com/questions/19653822
复制相似问题