【问题标题】:Inserting recorded audio(AMR and WAV) file in another file在另一个文件中插入录制的音频(AMR 和 WAV)文件
【发布时间】:2023-03-23 19:25:01
【问题描述】:

我的 Android 应用以 AMRWAV 格式录制音频。我的应用程序需要将第二个录制的音频文件插入到第一个文件中的暂停位置。我用WAV文件做对了,但是插入后的AMR文件无法在Android MediaPlayer中播放,当它到达插入位置时会出现一些错误。但相同的文件在AMR播放器中播放正常。

我遵循的步骤是:

1.从file1写入数据到暂停位置:

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.从file2写入要插入的数据

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

3.暂停位置后从file1写入剩余数据

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

我所做的有什么问题吗?

【问题讨论】:

    标签: android media-player audio-recording insertion amr


    【解决方案1】:

    您不一定要用新数据替换压缩流(AMR、MP3、AAC 等)中的数据,即使新数据是用相同的算法压缩的。
    为了保证这种替换工作您需要解压缩数据,进行替换,然后再次压缩。这很可能会导致音频质量进一步下降。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多