android 开源zip解压,Android音频speex压缩解压及ogg封包解包

曹智
2023-12-01

这个是从github上面一个android speex开源项目修改封装而来,在项目中用于IM中的语音压缩和通话记录压缩。IM语音压缩不失真的情况下一分钟可以压缩到100K左右。

首先看使用方式。

编码解码音频文件示例代码:

void encodeAudioFile(File rawFile, File speexFile, ) {

SpeexFileConverter.encode(rawFile, speexFile, SpeexCompression.LOW_6Kbps, OggFormat.getDefault());

}

void decodeAudioFile(File speexFile, File dstFile) {

SpeexFileConverter.decode(speexFile, SpeexCompression.LOW_6Kbps, dstFile);

}

注意以上操作不要放在UI线程执行。

如果想直接播放转码成speex格式的文件,可以设计一个decoder接口来实现具体的speex解码。示例代码如下。

首先定义一个decoder接口备用:

public interface AudioDecoder {

void decode(File file, DecodeListener listener) throws IOException;

public interface DecodeListener {

boolean onDecoded(byte[] data, int offset, int length);

boolean onDecoded(short[] data, int offset, int length)

 类似资料: