2012-02-19 3 views
2

내 Android 앱은 AMRWAV 형식의 오디오를 녹음합니다. 그리고 내 응용 프로그램은 두 번째로 녹음 된 오디오 파일을 일시 중지 된 위치에 첫 번째 오디오 파일 안에 삽입해야합니다. 나는 WAV 파일로 바로했지만 삽입 후 AMR 파일은 Android MediaPlayer에서 재생할 수 없으며 삽입 된 위치에 도달하면 오류가 발생합니다. 그러나 동일한 파일이 AMR 플레이어에서 정상적으로 재생됩니다. I는 다음다른 파일에 녹음 된 오디오 (AMR 및 WAV) 파일 삽입

단계는 :

파일 1로부터 정지 위치 개까지 데이터 1.Writing : 데이터 2.Writing

raf3=new RandomAccessFile(result,"rw"); 
raf3.setLength(0); 
int d=0; 
//Write data from record1 upto the pause position 
while(d!=pos) 
{ 
raf3.write(bytes[d]); 
d++; 
} 

를 파일 2

//write all the data from record 2 
int l=0; 
raf3.writeBytes(" "); 
while(l!=bytesread1) 
{ 
raf3.write(bytes1[l]); 
l++; 
} 

(3)로부터 삽입 . 일시 중지 위치 이후 파일 1의 나머지 데이터 쓰기.

while(d!=size){ 
raf3.write(bytes[d]); 
d++; 
} 

내가 한 짓에 문제가 있습니까?

답변

0

새 데이터가 동일한 알고리즘으로 압축 된 경우에도 압축 된 스트림 (AMR, MP3, AAC 등)의 데이터를 새 데이터로 대체 할 수 없습니다.
이러한 교체가 작동하려면 데이터를 압축 해제해야하며 교체를 수행하고 다시 압축해야합니다. 이렇게하면 오디오 음질이 더욱 저하 될 수 있습니다.