音频编码之opus(二)
信息来源:双赞工控|时间:2017-03-19 19:41|浏览量:
首先,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);
注意:保持OpusTool类的包名与编译opus源码时的OpusTool包名保持一致