首页 > 解决方案 > 是否有如何使用 java api io.humble 对音频进行编码的示例?

问题描述

我能够轻松地遵循如何使用 io.humble 对视频进行编码的示例。但是,我能找到的唯一包含音频的示例只是在视频开头对音频进行编码。我不知道如何在任意位置对样本进行编码。使用 setTimestamp 不会做任何事情。

这是我找到的示例: https ://www.javatips.net/api/myLib-master/myLib.AGPLv3/myLib.humble.test/src/test/java/com/ttProject/humble/test/BeepSoundTest.java

如果我修改 beepSamples() 方法以增加“sampleNum”值,我可以创建更长的音调。但是多次调用该方法或将 samples.setTimestamp() 设置为其他值或在数据包上调用 setTimestamp() 均无济于事。

无论我做什么,音频总是出现在视频的开头。

最终,我希望能够加载各种音频剪辑的任意 mp3 文件,然后将它们合并到特定时间戳的视频音频流中。但我什至无法让这个示例在视频流的不同点进行编码。

标签: javaaudiovideo

解决方案


不幸的是,该工具的作者对维护它或提供示例不感兴趣。幸运的是,我发现 JavaCV 是一种替代方案,结果证明它非常易于使用。

因此,对于其他遇到此问题的人,我建议切换到 JavaCV。其他选项还有 JCodec 和 Xuggler,但 Xuggler 已被弃用(与 io.humble 的作者相同),而且 JCodec 显然很慢并且会生成更大的文件。


推荐阅读