次のコードは私にとってはうまくいきます。私はアンドロイドで作業しているので、オーディオストリームクラスを使用できません。
File correct = new File("data1.mp3");
File file =new File("data.mp3");
correct.createNewFile();
FileInputStream in = new FileInputStream(file);
FileOutputStream out = new FileOutputStream(correct);
byte[] buffer = new byte[in.available()];
for(int i=0;i<1000;i++){
in.read(buffer, 0, 2048);
out.write(buffer, 0, 2048);
}
in.close();
out.close();
次のコードを実行すると、エラーが発生して機能しません
correct.createNewFile();
FileInputStream in = new FileInputStream(file);
FileOutputStream out = new FileOutputStream(correct);
byte[] buffer = new byte[in.available()];
in.skip(2048);
for(int i=0;i<1000;i++){
in.read(buffer, 0, 2048);
out.write(buffer, 0, 2048);
}
in.close();
out.close();
ここで同じこと、このコードを実行するとエラーが発生します
correct.createNewFile();
FileInputStream in = new FileInputStream(file);
FileOutputStream out = new FileOutputStream(correct);
byte[] buffer = new byte[in.available()];
for(int i=0;i<1000;i++){
in.read(buffer, 0, 2048);
in.skip(2048);
out.write(buffer, 0, 2048);
}
in.close();
out.close();
だから私の実際の質問は、どのように正しいオフセットを指定し、フレームを新しい mp3 ファイルにコピーするのですか? フレームのサイズを取得する方法は? 最初の重要なフレームをいくつかコピーする必要がありますか?