通过第三方程序实现语音转文字功能,如讯飞语音等
首先先检测系统中是否存在支持语音识别功能,如果存在直接启动语音识别,若不存在则引导用户通过应用商店下载讯飞语音助手。
代码如下:
/**
* 语音助手辅助类
*/
public class SpeechHelper {
/**
* 启动语音识别功能
*/
public static void startSpeechToText(final Activity activity, int requestCode) {
try {
Intent recognizeActivity = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
//1:语音识别模式(语言模式、自由模式)
recognizeActivity.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
//3:开始语音识别
activity.startActivityForResult(recognizeActivity, requestCode);
} catch (ActivityNotFoundException e) {
// 检测是否安装讯飞语音助手 com.iflytek.vflynote
if(isAvilible(activity,"com.iflytek.vflynote"))
{
// 已安装则提示系统不支持此功能
Toast.makeText(activity, "无法使用语音识别功能", Toast.LENGTH_SHORT).show();
return;
}
// 未安装讯飞语音助手则提示安装
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
AlertDialog dlg = builder.setMessage("使用语音功能需要安装<讯飞语记>是否下载?")
.setPositiveButton("下载", new DialogInterface.OnClickListener() {
@Override