您可以考虑的一种方法是计算和读取音频文件中的字节并将其写入新文件.因为您正在处理LPCM格式,所以计算相对简单.
例如,如果您有一个16位单声道LPCM音频文件,采样频率为44.1kHz(持续时间为1分钟),则总共(60秒x 44100Hz)2,646,000个采样.每个样本的时间2个字节总共提供5,292,000个字节.如果你想要10秒到30秒的音频,那么你需要读取882,000到2,646,000的字节并将它们写入一个单独的文件.
有一些代码涉及但可以使用AudioToolbox框架中的音频文件服务类来完成.
您需要使用的函数是AudioFileOpenURL,AudioFileCreateWithURL,AudioFileReadBytes,AudioFileWriteBytes和AudioFileClose.
算法会是这样的 -
首先设置一个AudioFileID,它是一个传递给AudioFileCreateWithURL函数的opaque类型.然后使用AudioFileOpenURL打开要拼接的文件.
计算要复制的内容的开始和结束字节.
接下来,在循环中,最好读取字节并将它们写入文件.AudioFileReadBytes和AudioFileWriteBytes允许您这样做.好的是,您可以读取和写入您在循环的每次迭代中决定的任何大小字节.
完成后使用AudioFileClose关闭新文件和原始文件.
然后对要写入的每个文件(音频提取)重复.
另外,您可以先通过将压缩格式转换为LPCM来拆分压缩格式.
| 归档时间: |
|
| 查看次数: |
965 次 |
| 最近记录: |