3

コードに問題があり、mp4 オーディオ ファイルをバイト配列に変換したい。たとえば、曲の異なる 2 つのオーディオ ファイルがありますが、長さは同じですが、バイト配列を出力すると結果は常に同じように表示されます。コードは次のとおりです。

try {
        FileInputStream fin = null;
        fin = new FileInputStream("/mnt/sdcard/audiorecorder/tes.mp4");
        BufferedInputStream bis = new BufferedInputStream(fin);
        DataInputStream dis = new DataInputStream(bis);
        byte fileContent[] = toByteArray(dis) ;

        Log.d("tes", Arrays.toString(fileContent));
    }


    catch (Exception e){}
}
public static byte[] toByteArray(InputStream in) throws IOException {
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    copy(in,out);
    return out.toByteArray();
}





private static long copy(InputStream from, OutputStream to) throws IOException {
    // TODO Auto-generated method stub
    byte[] buf = new byte[4000];
    long total = 0;
    while (true){
        int r = from.read(buf);
        if (r==-1) break;

    to.write(buf,0,r);
    total += r;
    }
    return total;
}
4

0 に答える 0