音频编码之opus(二)
上一篇博客中介绍了如何通过NDK编译opus源码生成.so文件,本文接着介绍如何使用该opus.so文件来进行opus编解码。首先,libs目录下创建armeabi文件夹,将编译好的opustool.so文件复制到该文件夹下。然后,创建OpusTool类,用来调用native层代码,即调用opustool.so文件件中的相关方法。同样public class OpusTool
·
上一篇博客中介绍了如何通过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
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)