Java 在Android中使用AudioRecorder/MediaRecorder录制FLAC音频

Java 在Android中使用AudioRecorder/MediaRecorder录制FLAC音频,java,android,mediarecorder,android-mediarecorder,Java,Android,Mediarecorder,Android Mediarecorder,在Android Studio中,我们是否可以使用MediaRecorder的AudioRecorder以FLAC或WAV格式录制音频。如果没有,还有别的办法吗? 根据这个链接,Android Studio支持这些类型的文件格式,但我似乎找不到合适的输出格式和音频编码器。 根据你给我们的链接,你不能用android设备在FLAC中录制,也不能用WAV录制。您可以做的是录制3GPP(手机音频格式),然后将其转换为WAV。是一段很好的转换代码。如果您在支持jni/ndk的android项目中安装开

在Android Studio中,我们是否可以使用MediaRecorder的AudioRecorder以FLAC或WAV格式录制音频。如果没有,还有别的办法吗?

根据这个链接,Android Studio支持这些类型的文件格式,但我似乎找不到合适的输出格式和音频编码器。


根据你给我们的链接,你不能用android设备在FLAC中录制,也不能用WAV录制。您可以做的是录制3GPP(手机音频格式),然后将其转换为WAV。是一段很好的转换代码。

如果您在支持jni/ndk的android项目中安装开放的jni FLAC模块,那么您可以使用FLAC编码器进行录制。请注意,您将需要完全整合所有低级jni集成(为jni/ndk/android构建生成文件)。在您的IDE中,这可能是很多/太多的额外开发工作

如果你想继续,只需谷歌“jni/FLACStreamEncoder.cpp”

你得到了一些像这样的好结果

2015年的示例git项目应该向您展示一种将jni/flac模块引入项目的方法,这种方法在几年前就已经生效。请记住,从那时起,您的IDE(AS)在jni/ndk集成领域发生了很多变化

在AS中,您很可能必须恢复到保留/利用现有“make”文件的传统构建模式,而不是自动配置整个构建界面

老安卓项目。具有集成的flac记录器和编解码器,以及使用同一项目的android.mk flac编码器为传统JNI/NDK构建的集成资产。flac包的相同项目生成文件。。请注意底部的2个cpp文件,因为它们在jni接口中很重要。Android媒体API将解码FLAC。您真正需要的是编码器,或者来自make的jni/FLACStreamEncoder.cpp。