私はこの少し複雑な状況で立ち往生しています。私は、Mp3 ファイルを複数のバイト配列に読み込んでいる Android アプリケーションの一部を作成しています。問題は、このバイト配列の数が USB からのテキスト ファイルと各バイト配列のサイズによって決定されることです。抜け道を教えてください。
以下は、Mp3ファイルを読んでいる私のコードです
cxt = ControlUnit.getAppContext();
try {
File file = new File("/mnt/media/USBDISK1/IFrame_00.bin");
input = new BufferedInputStream(new FileInputStream(file));
//input = cxt.getAssets().open("Maid with the Flaxen Hair.mp3");
Log.i("TvPlayerFunctionalTestApp", "mp3 file Read from Assests");
} catch (IOException e) {
// TODO Auto-generated catch block
Log.i("TvPlayerFunctionalTestApp", "Error in Opening mp3 File");
e.printStackTrace();
}
try {
size = input.available();
Log.i("TvPlayerFunctionalTestApp", "Size of Bin File: "+size);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
buffer = new byte[AClipTextFileHandler.BufferSize.get(0)];
input.read(buffer);
// input.read(buffer, offset, length);
Log.i("TvPlayerFunctionalTestApp", "buffer: "+ Arrays.toString(buffer));
buffer1 = new byte[AClipTextFileHandler.BufferSize.get(1)];
input.read(buffer1);
Log.i("TvPlayerFunctionalTestApp", "buffer: "+ Arrays.toString(buffer1));
StringBuffer stringBuff = new StringBuffer();
for (byte b:buffer)
{
stringBuff.append(String.format("%x", b));
}
Log.i("TvPlayerFunctionalTestApp","buffer: "+stringBuff) ;
for (byte b:buffer1)
{
stringBuff.append(String.format("%x", b));
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.i("TvPlayerFunctionalTestApp", "Error in Read");
}
try {
input.close();
Log.i("TvPlayerFunctionalTestApp", "File closed");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
どうすれば私を助けることができるのか理解List<Byte> arrays = new ArrayList<Byte>()
できません。