try{
FileInputStream fis=new FileInputStream(file1);
BufferedInputStream bis=new BufferedInputStream(fis);
bis.read (binaryData1);
bis.close();
fis.close();
fis=newFileInputStream(file2);
bis = new BufferedInputStream(fis);
bis.read (binaryData2);
bis.close();
fis.close();
byte [ ] outputBinary = new byte [(int) (binaryData1.length+binaryData2.length-44)];
System.arraycopy(binaryData1,0,outputBinary,0,binaryData1.length);
System.arraycopy (binaryData2,44, outputBinary, binaryData1.length, binaryData2.length-44);
int fileSize = outputBinary.length-8;
outputBinary[4] = (byte) (fileSize & 0xff);
outputBinary[5]=(byte)(fileSize>>8)&0xff);
outputBinary[6]=(byte)(fileSize>>16)&0xff);
outputBinary[7]=(byte)(fileSize>>24)&0xff);
int fileData=outputBinary.length-44;
outputBinary[4] = (byte) (fileData&0xff);
outputBinary[5]=(byte)(fileData<8)&0xff);
outputBinary[6]=(byte)(fileData<<16)&0xff);
outputBinary[7]=(byte)(fileData<24)&0xff);
I am creating a program to combine the two wav files, but when I finish playing the first audio file, it stops playing.I noticed that there was no file data update. How can I fix it?
java
As for fileData, the shift direction is the opposite and the write position is wrong.
outputBinary[40]=(byte) (fileData&0xff);
outputBinary[41]=(byte)(fileData>8)&0xff);
outputBinary[42] = (byte) (fileData>>16)&0xff);
outputBinary [43] = (byte) (fileData>>24)&0xff);
© 2024 OneMinuteCode. All rights reserved.