0

在这里,我有将音频流记录到文件的代码。问题是我想用正确的文件扩展名(主要是 .mp3 和 .aac)保存这个文件。我怎样才能做到这一点?

URLConnection conn = new URL(StringUrls[0]).openConnection();
            InputStream in = conn.getInputStream();

            BufferedOutputStream bufOutstream = new BufferedOutputStream(new FileOutputStream(new File(env.getExternalStorageDirectory()+"/temp.file")));

            byte[] buffer = new byte[4096];
            int len = in.read(buffer);
            while (len != -1) {
                bufOutstream.write(buffer, 0, len);
                len = in.read(buffer);

                if (Recorder.this.isCancelled) break;

            }
            bufOutstream.close();
4

1 回答 1

2

一种方法是在您已经掌握二进制数据时查看它。根据这个文件签名表MP3 和 AAC 都有独特的魔术头:

  • 49 44 33适用于MPEG-1 Audio Layer 3 (MP3) 音频文件
  • FF F1用于MPEG-4 高级音频编码 (AAC) 低复杂度 (LC) 音频
  • FF F9用于MPEG-2 高级音频编码 (AAC) 低复杂度 (LC) 音频
于 2013-08-24T18:34:43.103 回答