音频编码之opus(二)

来源:互联网 发布:天津mac专柜 编辑:程序博客网 时间:2024/06/05 06:51

上一篇博客中介绍了如何通过NDK编译opus源码生成.so文件,本文接着介绍如何使用该opus.so文件来进行opus编解码。


首先,libs目录下创建armeabi文件夹,将编译好的opustool.so文件复制到该文件夹下。

然后,创建OpusTool类,用来调用native层代码,即调用opustool.so文件件中的相关方法。同样

public class OpusTool {private static final String TAG = OpusTool.class.getName();static {try {System.loadLibrary("opustool");Log.e(TAG, "loaded library ");} catch (UnsatisfiedLinkError e) {Log.e(TAG, "Could not load library ");}}private native String nativeGetString();private native int encode_wav_file(String wav_path, String opus_path);private native int decode_opus_file(String opus_path, String wav_path);public String getNativeString() {return nativeGetString();}public int encode(String wav_path, String opus_path) {return encode(wav_path, opus_path);}public int decode(String opus_path, String wav_path) {return decode_opus_file(opus_path, wav_path);}}

nativeGetString()为测试方法,仅仅用于测试。


接下来在需要编/解码的时候调用相关方法即可:

编码:

mOpusTool.encode(FILEPATHWAV,FILEPATHOPUS);
解码:

mOpusTool.decode(FILEPATHOPUS, FILEPATHWAV);


关于使用AudioRecord录音可以参考

http://blog.csdn.net/yangysng07/article/details/41150839

注意:保持OpusTool类的包名与编译opus源码时的OpusTool包名保持一致





0 2
原创粉丝点击