コードに問題があり、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;
}