讯飞的集成不再赘述,因为他对用户挺友好的
但是使用,最好自己写一个工具类,下面是两个我写的工具类
语音识别工具类
public class RecognizerManager implements RecognizerListener { //单例 private RecognizerManager() {} private static class SingletonHolder { final static RecognizerManager sm = new RecognizerManager(); volatile static AtomicBoolean isInitialized = new AtomicBoolean(false); } public static RecognizerManager getInstance() { return SingletonHolder.sm;} //初始化 public static void init(Context applicationContext) { if (applicationContext instanceof Activity) return; if (!SingletonHolder.isInitialized.compareAndSet(false, true)) { synchronized (SingletonHolder.sm) { SingletonHolder.sm.initInternal(applicationContext);} } } //内部初始化 private void initInternal(Context applicationContext) { SpeechUtility.createUtility(applicationContext, Constant.SPEECH_ID); SpeechRecognizer mIat = SpeechRecognizer.createRecognizer(applicationContext, null); mIat.setParameter(SpeechConstant.DOMAIN, "iat"); mIat.setParameter(SpeechConstant.LANGUAGE, "zh_cn"); mIat.setParameter(SpeechConstant.ACCENT, "mandarin "); mIat.startListening(this); } //观察者(他们可以接收到语音) private List<Listener> listenerList; public void addListener(Listener listener) { if (listenerList == null) listenerList = new ArrayList<>(); listenerList.add(listener)