机器人:合并两个视频 [英] android : merge two videos

查看:237
本文介绍了机器人:合并两个视频的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要合并在android系统两个视频我下面这个链接 https://开头code.google.com / p / mp4parser / 但它不是为我工作,所以请帮助我感谢这里是我的code和登录猫错误: -

code是:

MovieCreator MC =新MovieCreator();

  {尝试
        电影视频= mc.build(Channels.newChannel(MainActivity.class.getResourceAsStream(/ video.mp4)));    电影音效= mc.build(Channels.newChannel(MainActivity.class.getResourceAsStream(/ funnysardar.mp4)));
    清单<轨道> videoTracks = video.getTracks();
    video.setTracks(新的LinkedList<轨道>());    清单<轨道> audioTracks = audio.getTracks();
    对于(轨道videoTrack:videoTracks){
       video.addTrack(新AppendTrack(videoTrack,videoTrack));
    }
    对于(轨道audioTrack:audioTracks){
       video.addTrack(新AppendTrack(audioTrack,audioTrack));
    }    IsoFile出=新DefaultMp4Builder()建(视频)。
    FOS的FileOutputStream =新的FileOutputStream(新文件(的String.format(output.mp4)));
    out.getBox(fos.getChannel());
    fos.close();
    }赶上(IOException异常五){
        // TODO自动生成catch块
        e.printStackTrace();
    }
}

日志猫错误是: -

  7月7日至29日:29:08.120:E / AndroidRuntime(6456):致命异常:主要
7月7日至29日:29:08.120:E / AndroidRuntime(6456):了java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.merge / com.example.merge.MainActivity}:显示java.lang.NullPointerException
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在android.app.ActivityThread.access $ 1500(ActivityThread.java:117)
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:931)
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在android.os.Handler.dispatchMessage(Handler.java:99)
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在android.os.Looper.loop(Looper.java:123)
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在android.app.ActivityThread.main(ActivityThread.java:3683)
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在java.lang.reflect.Method.invokeNative(本机方法)
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在java.lang.reflect.Method.invoke(Method.java:507)
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839)
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在dalvik.system.NativeStart.main(本机方法)
7月7日至29日:29:08.120:E / AndroidRuntime(6456):因:显示java.lang.NullPointerException
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在java.nio.channels.Channels $ ReadableByteChannelImpl.read(Channels.java:350)
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在com.coremedia.iso.AbstractBoxParser.parseBox(AbstractBoxParser.java:55)
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在com.coremedia.iso.IsoFile.next(IsoFile.java:162)
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在com.coremedia.iso.IsoFile.hasNext(IsoFile.java:138)
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在com.google code.mp4parser.util.LazyList $ 1.hasNext(LazyList.java:55)
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在com.coremedia.iso.IsoFile.getMovieBox(IsoFile.java:241)
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在com.google code.mp4parser.authoring.container.mp4.MovieCreator.build(MovieCreator.java:57)
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在com.example.merge.MainActivity.onCreate(MainActivity.java:32)
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
7月7日至29日:29:08.120:E / AndroidRuntime(6456):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)


解决方案

  com.coremedia.iso.PropertyBoxParserImpl;为InputStream的InputStream =的getClass()的getResourceAsStream(/ isoparser-default.properties)。

在Android的项目,这样的:的InputStream = NULL;

I want to merge two videos in android i am following this link https://code.google.com/p/mp4parser/ but it is not working for me so please help me thanks here is my code and log cat errors:-

code is :

MovieCreator mc = new MovieCreator();

    try {
        Movie  video = mc.build(Channels.newChannel(MainActivity.class.getResourceAsStream("/video.mp4")));

    Movie audio = mc.build(Channels.newChannel(MainActivity.class.getResourceAsStream("/funnysardar.mp4")));


    List<Track> videoTracks = video.getTracks();
    video.setTracks(new LinkedList<Track>());

    List<Track> audioTracks = audio.getTracks();


    for (Track videoTrack : videoTracks) {
       video.addTrack(new AppendTrack(videoTrack, videoTrack));
    }
    for (Track audioTrack : audioTracks) {
       video.addTrack(new AppendTrack(audioTrack, audioTrack));
    }

    IsoFile out = new DefaultMp4Builder().build(video);
    FileOutputStream fos = new FileOutputStream(new File(String.format("output.mp4")));
    out.getBox(fos.getChannel());
    fos.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

log cat error is :-

07-29 07:29:08.120: E/AndroidRuntime(6456): FATAL EXCEPTION: main
07-29 07:29:08.120: E/AndroidRuntime(6456): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.merge/com.example.merge.MainActivity}: java.lang.NullPointerException
07-29 07:29:08.120: E/AndroidRuntime(6456):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
07-29 07:29:08.120: E/AndroidRuntime(6456):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
07-29 07:29:08.120: E/AndroidRuntime(6456):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
07-29 07:29:08.120: E/AndroidRuntime(6456):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
07-29 07:29:08.120: E/AndroidRuntime(6456):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-29 07:29:08.120: E/AndroidRuntime(6456):     at android.os.Looper.loop(Looper.java:123)
07-29 07:29:08.120: E/AndroidRuntime(6456):     at android.app.ActivityThread.main(ActivityThread.java:3683)
07-29 07:29:08.120: E/AndroidRuntime(6456):     at java.lang.reflect.Method.invokeNative(Native Method)
07-29 07:29:08.120: E/AndroidRuntime(6456):     at java.lang.reflect.Method.invoke(Method.java:507)
07-29 07:29:08.120: E/AndroidRuntime(6456):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
07-29 07:29:08.120: E/AndroidRuntime(6456):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
07-29 07:29:08.120: E/AndroidRuntime(6456):     at dalvik.system.NativeStart.main(Native Method)
07-29 07:29:08.120: E/AndroidRuntime(6456): Caused by: java.lang.NullPointerException
07-29 07:29:08.120: E/AndroidRuntime(6456):     at java.nio.channels.Channels$ReadableByteChannelImpl.read(Channels.java:350)
07-29 07:29:08.120: E/AndroidRuntime(6456):     at com.coremedia.iso.AbstractBoxParser.parseBox(AbstractBoxParser.java:55)
07-29 07:29:08.120: E/AndroidRuntime(6456):     at com.coremedia.iso.IsoFile.next(IsoFile.java:162)
07-29 07:29:08.120: E/AndroidRuntime(6456):     at com.coremedia.iso.IsoFile.hasNext(IsoFile.java:138)
07-29 07:29:08.120: E/AndroidRuntime(6456):     at com.googlecode.mp4parser.util.LazyList$1.hasNext(LazyList.java:55)
07-29 07:29:08.120: E/AndroidRuntime(6456):     at com.coremedia.iso.IsoFile.getMovieBox(IsoFile.java:241)
07-29 07:29:08.120: E/AndroidRuntime(6456):     at com.googlecode.mp4parser.authoring.container.mp4.MovieCreator.build(MovieCreator.java:57)
07-29 07:29:08.120: E/AndroidRuntime(6456):     at com.example.merge.MainActivity.onCreate(MainActivity.java:32)
07-29 07:29:08.120: E/AndroidRuntime(6456):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-29 07:29:08.120: E/AndroidRuntime(6456):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)

解决方案

com.coremedia.iso.PropertyBoxParserImpl;

InputStream inputStream = getClass().getResourceAsStream("/isoparser-default.properties");

In Android projects, this: inputStream = null;

这篇关于机器人:合并两个视频的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆