离在线融合SDK2.2.20中使用语音唤醒问题
小黑CHANGE 发布于2016-12 浏览:1295 回复:1
0
收藏

唤醒在SDK2.1.20正常使用,在2.2.20使用报错

参数设置情况:

public class WakeUpActivity extends Activity {

private final String TAG = WakeUpActivity.class.getSimpleName();
   private EventManager mWpEventManager;
   private TextView textView;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
       setContentView(R.layout.wakeup);

       textView = (TextView) findViewById(R.id.tv);
   }

@Override
   protected void onResume() {
super.onResume();

       // 唤醒功能打开步骤
       // 1) 创建唤醒事件管理器
       mWpEventManager = EventManagerFactory.create(this, "wp");

       // 2) 注册唤醒事件监听器
       mWpEventManager.registerListener(new com.baidu.speech.EventListener() {
@Override
           public void onEvent(String name, String params, byte[] data, int offset, int length) {
Log.d(TAG, String.format("event: name=%s, params=%s", name, params));
               try {
JSONObject json = new JSONObject(params);
                   if ("wp.data".equals(name)) { // 每次唤醒成功, 将会回调name=wp.data的时间, 被激活的唤醒词在params的word字段
                       String word = json.getString("word");
                       Log.i(TAG, "唤醒成功, 唤醒词: " + word);
                       textView.append("唤醒成功, 唤醒词: " + word + "\r\n");

                   } else if ("wp.exit".equals(name)) {
Log.i(TAG, "唤醒已经停止: " + params + "\r\n");
                       textView.append("唤醒已经停止: " + params + "\r\n");
                   }
} catch (JSONException e) {
throw new AndroidRuntimeException(e);
               }
}
});

       // 3) 通知唤醒管理器, 启动唤醒功能
       HashMap params = new HashMap();
       params.put("kws-file", "assets:///WakeUp.bin"); // 设置唤醒资源, 唤醒资源请到 http://yuyin.baidu.com/wake#m4 来评估和导出
       mWpEventManager.send("wp.start", new JSONObject(params).toString(), null, 0, 0);
       textView.append("启动唤醒\r\n");

   }

@Override
   protected void onPause() {
super.onPause();
       // 停止唤醒监听
       mWpEventManager.send("wp.stop", null, null, 0, 0);
   }

}

SDK版本号:2.2.20

代码或日志截图(上传截图能帮助您更快解决问题):

android.util.AndroidRuntimeException: org.json.JSONException: No value for word

                                                                                   at com.baidu.android.voicedemo.WakeUpActivity$1.onEvent(WakeUpActivity.java:60)

                                                                                   at com.baidu.speech.asr.EventManagerWp$1$1.run(EventManagerWp.java:41)

                                                                                   at android.os.Handler.handleCallback(Handler.java:808)

                                                                                   at android.os.Handler.dispatchMessage(Handler.java:103)

                                                                                   at android.os.Looper.loop(Looper.java:193)

                                                                                   at android.app.ActivityThread.main(ActivityThread.java:5331)

                                                                                   at java.lang.reflect.Method.invokeNative(Native Method)

                                                                                   at java.lang.reflect.Method.invoke(Method.java:515)

                                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:825)

                                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:641)

                                                                                   at dalvik.system.NativeStart.main(Native Method)

                                                                                Caused by: org.json.JSONException: No value for word

                                                                                   at org.json.JSONObject.get(JSONObject.java:355)

                                                                                   at org.json.JSONObject.getString(JSONObject.java:515)

                                                                                   at com.baidu.android.voicedemo.WakeUpActivity$1.onEvent(WakeUpActivity.java:51)

                                                                                   at com.baidu.speech.asr.EventManagerWp$1$1.run(EventManagerWp.java:41) 

                                                                                   at android.os.Handler.handleCallback(Handler.java:808) 

                                                                                   at android.os.Handler.dispatchMessage(Handler.java:103) 

                                                                                   at android.os.Looper.loop(Looper.java:193) 

                                                                                   at android.app.ActivityThread.main(ActivityThread.java:5331) 

                                                                                   at java.lang.reflect.Method.invokeNative(Native Method) 

                                                                                   at java.lang.reflect.Method.invoke(Method.java:515) 

                                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:825) 

                                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:641) 

                                                                                   at dalvik.system.NativeStart.main(Native Method)


收藏
点赞
0
个赞
共1条回复 最后由用户已被禁言回复于2022-04
#2c5812回复于2016-12

您好,2.2.*版本的唤醒问题已经在解决中,暂请使用2.1.20版本,谢谢

0
TOP
切换版块