在cocos creator 中使用讯飞SDK,根据官方文档,操作如下:
1、将下载的SDK中libs文件夹下的所有文件都复制到了项目目录:build\jsb-default\frameworks\runtime-src\proj.android\libs
2、在AndroidManifest.xml添加权限
3、添加代码,片段如下:
import com.iflytek.cloud.SpeechUtility;
import com.iflytek.cloud.SpeechRecognizer; //语音听写对象
import com.iflytek.cloud.RecognizerListener;
import com.iflytek.cloud.LexiconListener;
import com.iflytek.cloud.RecognizerResult;
import com.iflytek.cloud.SpeechError;
import com.iflytek.cloud.SpeechConstant;
import com.iflytek.cloud.ErrorCode;
public class AppActivity extends Cocos2dxActivity {
private static AppActivity app = null;
// 语音听写对象
private static SpeechRecognizer mIat;
// 引擎类型
private String mEngineType = SpeechConstant.TYPE_CLOUD;
//消息提示
private static Toast mToast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SDKWrapper.getInstance().init(this);
app = this ;
//讯飞语音初始化
SpeechUtility.createUtility(AppActivity.this, "appid=58de6966");
//mIat = SpeechRecognizer.createRecognizer(app.getContext(), null); 这里创建返回NULL
}
public static void onVoiceStart(int i)throws Exception{
mIat = SpeechRecognizer.createRecognizer(app.getContext(), null); //这里创建同样返回NULL
if(mIat == null){
showTip("mIat is null.");
return;
}
mIat.setParameter(SpeechConstant.DOMAIN,"iat");
mIat.setParameter(SpeechConstant.LANGUAGE,"zh_cn");
mIat.setParameter(SpeechConstant.ACCENT,"manderin");
}
。。。。。。。
请大家帮我看看,为什么创建不了对象,哪里出问题了,谢谢!