if (keyWord != null) { // 使用Stream API过滤并删除包含关键字的数据 boolean removed = routeList.removeIf(node -> node.get(0).getName().contains(keyWord)); if (removed) { mVehiManager.stopTts(); List<BNRoutePlanNode> list = new ArrayList<>(); for (List<BNRoutePlanNode> ed : routeList) { list.add(ed.get(0)); } BaiduNaviManagerFactory.getRouteGuideManager().deleteViaNodes(); setSessionOver(true); android.util.Log.d("TAGAA", "deleteWayPoint: 数据是" + routeList.toString()); try { Thread.sleep(1800); BaiduNaviManagerFactory.getRouteGuideManager().addViaNodes(list); BaiduNaviManagerFactory.getCommonSettingManager().setViaPointCount(4); showFullView(); isWayPoint = true; android.util.Log.d("TAGAA", "deleteWayPoint: 删除后 数据是" + list); } catch (InterruptedException e) { e.printStackTrace(); } } else { speakWithoutFollowStep("抱歉,当前没有" + keyWord + "途经点"); } } 这段代码我添加了 mVehiManager.stopTts()后,发现tts没有暂停,并且1.8秒后添加途经点,在地图上面也没有显示,我不加的话一切正常,这是为什么?
时间: 2024-02-10 21:34:39 浏览: 63
用C/C++来实现 Node.js 的模块(二)
根据你提供的代码,我无法确定问题的根本原因。但是,我可以给出一些可能的解释。
首先,可能是 `mVehiManager.stopTts()` 方法没有正确地停止 TTS 播放。你可以检查该方法的实现,确保它能够正常工作。
其次,1.8 秒后添加途经点可能太快了,导致数据没有被正确地处理。你可以尝试增加等待时间,看看是否能够解决问题。
最后,可能是其他代码中的问题导致了该段代码的异常行为。你可以检查其他代码中是否存在与此相关的问题。
阅读全文