gpt4 book ai didi

android - 在Nexus上合并两个音频文件需要花费更多时间

转载 作者:行者123 更新时间:2023-12-02 23:47:59 25 4
gpt4 key购买 nike

在我的项目中,我正在研究音频和电话录音功能。我需要合并两个音频文件。对于合并,我编写了以下代码:

     try {
FileInputStream fistream1 = new FileInputStream(file1); // first
// source file
FileInputStream fistream2 = new FileInputStream(file2);// second
// source file
SequenceInputStream sistream = new SequenceInputStream(fistream1, fistream2);

File audioDir = new File(Environment.getExternalStorageDirectory(), CONSTANTS.PATH_TO_MERGED_AUDIO);
if (!audioDir.exists()) {
audioDir.mkdirs();
}
FileOutputStream fostream = new FileOutputStream(audioDir + "/mergedFile.wav");// destinationfile

int temp;

while ((temp = sistream.read()) != -1) {
fostream.write(temp); // to write to file
}
fostream.close();
sistream.close();
fistream1.close();
fistream2.close();

} catch (Exception e) {
e.printStackTrace();

}

}

现在,问题是我正在Note3 OS 4.0.1上运行此代码,它工作正常。但是当我在Nexus4 OS 5.0.1上运行相同的代码时。与Note3相比,它需要5-6分钟。我对此进行搜索,但dint找到了任何结果。请在错误的地方帮我,或者我需要实现另一个API来合并两个音频文件。

谢谢

最佳答案

我正在回答我自己的问题。我解决了这个问题。最初,我怀疑错误可能是硬件特定的。但是问题是我写文件的方式。

           byte[] buf = new byte[1024];
try {
for (int readNum; (readNum = sistream.read(buf)) != -1;)
fostream.write(buf, 0, readNum);
} finally {
if(sistream!=null){
sistream.close();
}

}

关于android - 在Nexus上合并两个音频文件需要花费更多时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29093075/

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