com.supermap.mapping.speech

类 SpeechManager

  • java.lang.Object
    • com.supermap.mapping.speech.SpeechManager


  • public class SpeechManager
    extends java.lang.Object
    语音识别类 不支持多线程。
    • 方法概要

      所有方法 静态方法 实例方法 具体方法 
      限定符和类型 方法和说明
      void cancel()
      通过此函数取消当前的会话。
      boolean destroy()
      在调用本函数进行销毁前,应先保证当前不在会话中,否则,本函数将尝试取消当前会话,并返回false,此时销毁失败。
      static SpeechManager getInstance(android.content.Context context)
      获取语音识别类的单例对象
      static void init(android.content.Context context)
      初始化语音SDK组件(只能在主线程中调用),只需在应用启动时调用一次就够了。
      boolean isListening()
      通过此函数,获取当前SDK是否正在进行会话。
      void setAudioPath(java.lang.String path)
      设置音频保存路径:(目前支持音频文件格式为wav格式) 通过此参数,可以在识别完成后在本地保存一个音频文件 是否必须设置:否 默认值:null (不保存音频文件) 值范围:有效的文件相对或绝对路径(含文件名) 例如:Environment.getExternalStorageDirectory() + "/msc/speech.wav"
      void setIsPunctuation(boolean isPunctuation)
      设置是否返回标点符号,设置为true返回结果有标点,设置为false返回结果无标点。
      void setVAD_BOS_Time(int time)
      设置语音前端点:静音超时时间,即用户多长时间不说话则当做超时处理 是否必须设置:否 默认值:听写5000,其他4000 值范围:[1000, 10000]
      void setVAD_EOS_Time(int time)
      设置语音后端点:后端点静音检测时间,即用户停止说话多长时间内即认为不再输入, 自动停止录音 是否必须设置:否 默认值:听写1800,其他700 值范围:[0, 10000]
      void startListening(IntelligentSpeechListener listener)
      调用此函数,开始语音听写。
      void stopListening()
      调用本函数告知SDK,当前会话音频已全部录入。
      • 从类继承的方法 java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 方法详细资料

      • init

        public static void init(android.content.Context context)
        初始化语音SDK组件(只能在主线程中调用),只需在应用启动时调用一次就够了。 推荐在应用程序入口处调用,避免手机内存过小,杀死后台进程后造成初始化的对象为null 如在Application中调用初始化,需要在Mainifest中注册该Application 注意:此接口在非主进程调用会造成初始化失败!
        参数:
        context - 应用上下文
      • getInstance

        public static SpeechManager getInstance(android.content.Context context)
        获取语音识别类的单例对象
        参数:
        context - 应用上下文
        返回:
        如果context为空,此处则返回null。
      • isListening

        public boolean isListening()
        通过此函数,获取当前SDK是否正在进行会话。应用层可通过此函数,查询能否开始一路新的会话等。 调用了stopListening()停止录音后,如果会话未出现错误或返回最后的结果, 当前状态依然处于会话中,即本函数会返回true。如果调用cancel()取消了会话, 则当前状态处于不在会话中。
        返回:
        会话状态,true:正在会话中;false:不在会话中
      • destroy

        public boolean destroy()
        在调用本函数进行销毁前,应先保证当前不在会话中,否则,本函数将尝试取消当前会话,并返回false,此时销毁失败。关于当前是否在会话中,请参考函数 isListening()。若销毁失败,请在取消当前会话后,再次调用本函数重试。 当本函数返回true时,销毁成功。此时,之前创建的单例对象已不能再使用,否则,将会报错。此时需要再使用,应先通过getInstance(Context context)创建一个新的单例对象。
        返回:
        销毁成功:true;销毁失败:false。
      • startListening

        public void startListening(IntelligentSpeechListener listener)
        调用此函数,开始语音听写。 目前SDK不支持多线程,所以在调用本函数开始一次会话后,直到结束前(结果返回 完毕,或出现错误),不能再调用本函数开始新的会话。一次会话,即从会话开始,到结 束为止。 如需设置相应的参数,则应该在调用本函数前设置。 可通过cancel()取消当前的会话。
        参数:
        listener - 监听
      • stopListening

        public void stopListening()
        调用本函数告知SDK,当前会话音频已全部录入。 在调用本函数后,已录入的音频还在继续上传到服务器,结果不会马上就返回,当前会 话还在继续,直到结果返回完毕,或出现错误。 要取消会话,请参考cancel()函数。 当应用调用本函数结束停止录音时,SDK不会再回调 onEndOfSpeech()。相反的,当SDK回调 onEndOfSpeech()时,应用层可不必再调用本函数通知SDK停止录音。
      • cancel

        public void cancel()
        通过此函数取消当前的会话。 在会话被取消后,当前会话结束,未返回的结果将不再返回。
      • setVAD_BOS_Time

        public void setVAD_BOS_Time(int time)
        设置语音前端点:静音超时时间,即用户多长时间不说话则当做超时处理 是否必须设置:否 默认值:听写5000,其他4000 值范围:[1000, 10000]
        参数:
        time - 前端超时
      • setVAD_EOS_Time

        public void setVAD_EOS_Time(int time)
        设置语音后端点:后端点静音检测时间,即用户停止说话多长时间内即认为不再输入, 自动停止录音 是否必须设置:否 默认值:听写1800,其他700 值范围:[0, 10000]
        参数:
        time - 后端超时
      • setAudioPath

        public void setAudioPath(java.lang.String path)
        设置音频保存路径:(目前支持音频文件格式为wav格式) 通过此参数,可以在识别完成后在本地保存一个音频文件 是否必须设置:否 默认值:null (不保存音频文件) 值范围:有效的文件相对或绝对路径(含文件名) 例如:Environment.getExternalStorageDirectory() + "/msc/speech.wav"
        参数:
        path - 音频路径
      • setIsPunctuation

        public void setIsPunctuation(boolean isPunctuation)
        设置是否返回标点符号,设置为true返回结果有标点,设置为false返回结果无标点。
        参数:
        isPunctuation - 是否返回标点