java - 在 Java/Android 中附加 .aac 文件

标签 java android audio

我对使用 Java 处理音频文件还很陌生,对 Android 也很陌生(我知道一些基础知识)。

我有两个使用 MediaRecorder 录制的 .aac 文件,我需要在录制完成后合并这两个文件。我想我会先在 Java 中尝试,然后将其移至 Android,因为很多看起来非常相似?

我想知道实现此目标的最佳方法是什么?到目前为止,我已经将 .aac 文件转换为字节数组并合并它们,但这只会生成文件大小更大且没有额外音频的第一个文件(来自第一个字节数组)。

我想这可能是由于音频标题?我是否应该找到一种方法来定位这些字节并将它们从第二个字节中删除(如果有,是否有文档解释 header 的位置?)

或者,我还阅读了有关使用 .wavs 的信息,而不是使用 MediaRecorder 而使用 AudioRecord,创建两个 PCM,连接然后转换为 .wav?然后我可以将该 .wav 转换为 .aac 吗?

最快的实现方式是什么?有没有人有任何额外的文档可以提供帮助?

最佳答案

感谢 Gabe,让我走上了正确的道路。

最后我放弃了使用 .aac 并尝试删除 header 。我使用 AudioRecord 录制 .pcm 文件,然后连接这些文件并保存为 .wav。

我确实为听起来快进和失真的声音而苦恼,最初认为这是采样率的问题,事实证明我正在将短字节转换为丢失信息的字节,从而加速和失真的原因。

希望这对某人有所帮助,我可能最终会添加一些 .aac 编码库来减小大小。

我发现一些对我的旅程有帮助的链接。

https://github.com/newventuresoftware/WaveformControl

Android AudioRecord example

How to convert .pcm file to .wav or .mp3?

http://www.topherlee.com/software/pcm-tut-wavformat.html

关于java - 在 Java/Android 中附加 .aac 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41681003/

相关文章:

Android:App Widget Configuration Activity 的行为不像 Activity(编辑自:Android:AppWidget not embedding into home screen)

android - 如何通过焦点调整屏幕中两个 fragment 的大小?

iPhone 3GS +/iPad 1 + 最大硬件音频采样率

java - 为什么带有 catch Exception 的空 try block 会编译?

java - 搜索基于网络的分析器来测量基于网络的应用程序的性能

Java - 如何在 JNLP 文件中自动获取 IP 地址?

java - 如何使用方法执行以下操作?

Android NDK SDL 弃用

java - AudioSystem.getInputStream(InputStream) 异常

audio - 任何适用于Swift的音频播放器框架?