gpt4 book ai didi

android - 将视频的配​​乐更改为相同长度的音频文件

转载 作者:行者123 更新时间:2023-11-29 20:55:39 27 4
gpt4 key购买 nike

我有两个变量,Uri audioUriUri videoUri,它们指向音频文件(用户拥有的任何格式)和视频文件 (mp4) 的位置分别。视频和音频的长度相同。

我想创建一个与视频文件具有相同视频/帧的视频文件,但使用音频文件作为配乐。

最佳答案

我最终使用了 mp4parser图书馆。 MediaExtractorMediaMuxer 类分别在 API 16 和 18 中引入,因此它们对我的项目来说太新了。

此方法的注意事项是在写入时音频源必须是 aac 或 mp3 文件,视频文件必须是 mp4 文件。

使用Android Studio和Gradle,你可以这样安装和使用它:

打开 Gradle Scripts -> build.gradle (Module: app) 并添加到 dependencies block 的末尾

compile 'com.googlecode.mp4parser:isoparser:1.0.+'

单击进行此更改后出现的黄色横幅中的“立即同步”按钮。

现在在你的 Java 文件中写:

try
{
H264TrackImpl h264Track = new H264TrackImpl(new FileDataSourceImpl(videoFile);
MP3TrackImpl mp3Track = new MP3TrackImpl(new FileDataSourceImpl(audioFile);
Movie movie = new Movie();
movie.addTrack(h264Track);
movie.addTrack(mp3Track);
Container mp4file = new DefaultMp4Builder().build(movie);
FileChannel fileChannel = new FileOutputStream(new File(outputFile)).getChannel();
mp4file.writeContainer(fileChannel);
fileChannel.close();
}
catch (Exception e)
{
Toast.makeText(this, "An error occurred: " + e.getMessage(), Toast.LENGTH_SHORT).show();
}

使用 Alt+Enter 工具导入所有类。 Movie 类对我来说有多种选择,因此请确保选择以 com.googlecode.mp4parser 开头的那个。

处理异常和定义不言自明的字符串 outputFileaudioFilevideoFile 就交给您了。

关于android - 将视频的配​​乐更改为相同长度的音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27874654/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com