什么是java(Android)中AudioInputStream的替代类?
发布时间:2020-12-15 02:26:05 所属栏目:Java 来源:网络整理
导读:大约一年前,我开始构建一个 Android应用程序. 现在,当我尝试运行它时,我得到一个关于AudioInputStream类的异常,经过我使用GOOGLE做的一个简短的研究后我发现android不再支持这个类… 他们有什么替代品吗? 这是我写的代码: private void merge2WavFiles(Str
大约一年前,我开始构建一个
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.getFrameLength() + clip2.getFrameLength() ); AudioSystem.write(appendedFiles,AudioFileFormat.Type.WAVE,new File(newWavFilePath)); } catch (Exception e) { e.printStackTrace(); } } 解决方法
在开发android上的频率生成方法时,我也遇到了类似的问题,所以我在android参考和java se 1.7 docs的API中随处可见.但是不存在类AudioInputStream的易于交换的替代方案,甚至在代码中也找不到类AudioSystem. 如果你想使用你的遗产,你可能需要修改和重构几个项目.在我的例子中,我使用了InputStream和ByteArrayInputStream(java.io),记录和系统的一些动作将由AudioRecord和AudioManager(android.media)管理.请注意,android和java7中的AudioFormat与其内部特征不同.如果我在音频操作上清除了我的问题,我会为你附上一段示例代码.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |