智能工厂.apk(点击下载) / SpeechDecoder.java


package com.baidu.speechsynthesizer.utility;

import com.baidu.tts.chainofresponsibility.logger.LoggerProxy;

public class SpeechDecoder {
    private static final String TAG = "SpeechDecoder";
    private static OnDecodedDataListener mDecodedDataListener;

    public interface OnDecodedDataListener {
        void onDecodedData(byte[] bArr);
    }

    public static native int decodeWithCallback(byte[] bArr, Object obj);

    public native int decode(byte[] bArr, int i, short[] sArr, int[] iArr, int i2, int i3);

    static {
        try {
            LoggerProxy.d(TAG, "before load gnustl_shared");
            System.loadLibrary("gnustl_shared");
        } catch (Throwable unused) {
            LoggerProxy.e(TAG, "so file gnustl_shared load fail");
        }
        try {
            LoggerProxy.d(TAG, "before load BDSpeechDecoder_V1");
            System.loadLibrary("BDSpeechDecoder_V1");
            LoggerProxy.d(TAG, "after load BDSpeechDecoder_V1");
        } catch (Throwable unused2) {
            LoggerProxy.e(TAG, "so file BDSpeechDecoder_V1 load fail");
        }
    }

    public int decodeWithCallback(byte[] bArr) {
        return decodeWithCallback(bArr, this);
    }

    public void decode_audio_callback(byte[] bArr) {
        mDecodedDataListener.onDecodedData(bArr);
    }

    public static void setOnDecodedDataListener(OnDecodedDataListener onDecodedDataListener) {
        mDecodedDataListener = onDecodedDataListener;
    }
}