gpt4 book ai didi

java - java (Android) 中 AudioInputStream 的替代类是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 10:55:12 26 4
gpt4 key购买 nike

大约一年前,我开始为 android 构建一个应用程序。现在,当我尝试运行它时,我得到了一个关于 AudioInputStream 类的异常,在我使用 GOOGLE 进行了简短的研究之后,我发现 android 不再支持这个类了......他们有其他选择吗?

这是我写的代码:

    private void merge2WavFiles(String wavFile1, String wavFile2, String newWavFilePath) {

try {
File wave1 = new File(wavFile1);
if(!wave1.exists())
throw new Exception(wave1.getPath() + " - File Not Found");
AudioInputStream clip1 = AudioSystem.getAudioInputStream(wave1);
AudioInputStream clip2 = AudioSystem.getAudioInputStream(new File(wavFile2));

AudioInputStream emptyClip =
AudioSystem.getAudioInputStream(new File(emptyWavPath));

AudioInputStream appendedFiles =
new AudioInputStream(
new SequenceInputStream(clip1, emptyClip),
clip1.getFormat(),
clip1.getFrameLength() + 100
);

clip1 = appendedFiles;

appendedFiles =
new AudioInputStream(
new SequenceInputStream(clip1, clip2),
clip1.getFormat(),
clip1.getFrameLength() + clip2.getFrameLength()
);

AudioSystem.write(appendedFiles, AudioFileFormat.Type.WAVE, new File(newWavFilePath));
} catch (Exception e) {
e.printStackTrace();
}
}

最佳答案

我在开发在 android 上设置的频率生成方法时也遇到了与您类似的问题,因此我在 android 引用和 java se 1.7 文档的 API 中到处挖掘。但是在您的代码中不存在类 AudioInputStream 甚至类 AudioSystem 的易于交换的替代品。如果你想使用你的遗产,你可能需要修改和重构几个项目。在我的例子中,我为此使用了 InputStream 和 ByteArrayInputStream (java.io),而录音和系统化的一些 Action 将由 AudioRecord 和 AudioManager (android.media) 管理。注意android和java7中的AudioFormat内部特性不同。如果我解决了音频处理方面的问题,我会附上一段示例代码给您。

关于java - java (Android) 中 AudioInputStream 的替代类是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6204949/

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