Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何识别音频流格式?_Java_Android_Mp3_Aac - Fatal编程技术网

Java 如何识别音频流格式?

Java 如何识别音频流格式?,java,android,mp3,aac,Java,Android,Mp3,Aac,这里我有一个代码,它将音频流记录到文件中。问题是我想用正确的文件扩展名保存这个文件(主要是.mp3和.aac)。我怎样才能做到这一点 URLConnection conn = new URL(StringUrls[0]).openConnection(); InputStream in = conn.getInputStream(); BufferedOutputStream bufOutstream = new BufferedOutputSt

这里我有一个代码,它将音频流记录到文件中。问题是我想用正确的文件扩展名保存这个文件(主要是.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();

一种方法是在您已经拥有二进制数据的情况下查看它。根据这一点,MP3和AAC都有独特的魔法头:

  • 49 44 33
    用于MPEG-1音频第3层(MP3)音频文件
  • FF F1
    用于MPEG-4高级音频编码(AAC)低复杂度(LC)音频
  • FF F9
    用于MPEG-2高级音频编码(AAC)低复杂度(LC)音频

您需要分析流内容-查看