我正在使用mp4parser附加两个音频文件.追加已完成,但速度很慢,不知道是什么问题.
在这一行调试器卡住大音频文件,例如大约30分钟的音频文件.
这是代码.
Movie[] inMovies = null;
inMovies = new Movie[]{
MovieCreator.build(fileOne),
MovieCreator.build(fileTwo)};
List<Track> audioTracks = new LinkedList<Track>();
for (Movie m : inMovies) {
for (Track t : m.getTracks()) {
if (t.getHandler().equals("soun")) {
audioTracks.add(t);
}
}
}
Movie result = new Movie();
if (audioTracks.size() > 0) {
result.addTrack(new AppendTrack(audioTracks.toArray(new Track[audioTracks.size()])));
}
Container out = new DefaultMp4Builder().build(result);
String fileName = getFilename();
FileChannel fc = new RandomAccessFile(String.format(fileName), "rw").getChannel();
out.writeContainer(fc);
fc.close();
Run Code Online (Sandbox Code Playgroud)
manifest资源配置文件
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ehrlite"
android:versionCode="1"
android:versionName="1.0" > …Run Code Online (Sandbox Code Playgroud) 我的目标是暂停录制文件.我在Android开发者网站上看到它但是Media Recorder没有暂停选项.
Java支持以编程方式合并两个音频文件,但在android中它不起作用.
此外,我还使用了所有设备都可以使用的默认设备录音机应用程序,但在三星中,很少有设备没有恢复录制路径.
Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
startActivityForResult(intent,REQUESTCODE_RECORDING);
Run Code Online (Sandbox Code Playgroud)
任何一个有暂停功能的录音帮助.
我正在尝试合并mp3音频文件,但未成功。
这是我的代码。
public static void meargeAudio(List<File> filesToMearge)
{
while (filesToMearge.size()!=1){
try {
FileInputStream fistream1 = new FileInputStream(new File(filesToMearge.get(0).getPath())); //(/storage/emulated/0/Audio Notes/1455194356500.mp3) first source file
FileInputStream fistream2 = new FileInputStream(new File(filesToMearge.get(1).getPath()));//second source file
File file1 = new File(filesToMearge.get(0).getPath());
boolean deleted = file1.delete();
File file2 = new File(filesToMearge.get(1).getPath());
boolean deleted1 = file2.delete();
SequenceInputStream sistream = new SequenceInputStream(fistream1, fistream2);
FileOutputStream fostream = new FileOutputStream(new File(filesToMearge.get(0).getPath()),true);//destinationfile
int temp;
while ((temp = sistream.read()) != -1) {
// System.out.print( (char) temp ); // to print at DOS …Run Code Online (Sandbox Code Playgroud) 我的音频文件很少:
我需要的是找到一种方法在f_1的特定部分混合(合并)f2和f3(即等于6秒的位置)
我正在看音频示例,但它们对我没什么帮助,所以任何想法\参考\文档可能会有所帮助?
非常感谢!
我们正在使用离子框架构建一个练习应用程序,它需要按顺序播放多个音频文件,每个音频文件之间有特定的间隔.我们得到了这个工作.现在我们需要将音频文件加入单个文件中.
示例:File_1(长度为4分钟),File_2(长度为3分钟).我们需要一个新的组合单音频文件,长度应为10分钟(File_1 + 3分钟静音+ File_2)
有没有办法在使用angular或cordova的客户端移动应用程序中获得此功能?