Exemplo n.º 1
0
    /// <summary>
    /// 播放语音
    /// </summary>
    /// <param name="audioName">语音路径</param>

    /*public static void PlayAudio(string audioName)
     * {
     *  if (!m_bInited)
     *      m_Instance.Init();
     *  if (m_Status == SpeechStatus.SS_DEFAULT)
     *  {
     *      m_Status = SpeechStatus.SS_PLAYING;
     *      SpeechAPI.PlayAudio(audioName);
     *      if (ChatInfoLogic.Instance() != null)
     *      {
     *          ChatInfoLogic.Instance().OnPlayVoiceChat();
     *      }
     *  }
     * }
     *
     * /// <summary>
     * /// 播放buffer内的语音
     * /// </summary>
     * /// <param name="audioIdx"></param>
     * public static void PlayAudio(byte[] buffer)
     * {
     *  if (!m_bInited)
     *      m_Instance.Init();
     *
     *  if (m_Status == SpeechStatus.SS_DEFAULT && buffer != null)
     *  {
     *      m_Status = SpeechStatus.SS_PLAYING;
     *      SpeechAPI.PlayAudioBuffer(buffer);
     *      if (ChatInfoLogic.Instance() != null)
     *      {
     *          ChatInfoLogic.Instance().OnPlayVoiceChat();
     *      }
     *  }
     * }*/

    public static void PlayAudio(int voiceindex, byte[] buffer, bool bForce = false)
    {
        if (!m_bInited)
        {
            m_Instance.Init();
        }

        if (buffer != null)
        {
            if (m_Status == SpeechStatus.SS_DEFAULT || bForce)
            {
                m_Status = SpeechStatus.SS_PLAYING;
                GameManager.gameManager.SoundManager.MusicDown();
                SpeechAPI.PlayAudioBuffer(buffer);
                GameManager.gameManager.PlayerDataPool.VoiceChatDownloadRecord.PlayingVoiceIndex = voiceindex;
                if (ChatInfoLogic.Instance() != null)
                {
                    ChatInfoLogic.Instance().OnPlayVoiceChat();
                }
#if UNITY_ANDROID && !UNITY_EDITOR
                SpeechEngine.Instance().InvokeRepeating("ForcePlayOver", 20.0f, 1.0f);
#endif
            }
        }
    }
Exemplo n.º 2
0
 /// <summary>
 /// 错误回调函数
 /// </summary>
 /// <param name="errorCode">错误代码</param>
 private void ProcessErrorCode(string errorCode)
 {
     if (/*!errorCode.Equals("0") && */ m_ErrorHandler != null)
     {
         m_ErrorHandler(SpeechAPI.GetErrorCodeDesc(errorCode));
     }
     m_Status = SpeechStatus.SS_DEFAULT;
 }
Exemplo n.º 3
0
    /// <summary>
    /// 设置录音时长上限
    /// </summary>
    /// <param name="maxInternal">时长,单位s</param>
    public void SetMaxRecordInterval(float maxInternal)
    {
        if (!m_bInited)
        {
            m_Instance.Init();
        }

        SpeechAPI.SetMaxRecordInterval(maxInternal);
    }
Exemplo n.º 4
0
    public static byte[] GetAudioBuffer()
    {
        if (!m_bInited)
        {
            m_Instance.Init();
        }

        return(SpeechAPI.GetAudioBuffer());
    }
Exemplo n.º 5
0
 /// <summary>
 /// 开始录音
 /// </summary>
 public static void StartRecording()
 {
     if (!m_bInited)
     {
         m_Instance.Init();
     }
     if (m_Status == SpeechStatus.SS_DEFAULT)
     {
         SpeechAPI.StartRecording();
     }
 }
Exemplo n.º 6
0
 /// <summary>
 /// 取消语音任务
 /// </summary>
 public static void CancleTask()
 {
     if (!m_bInited)
     {
         m_Instance.Init();
     }
     if (m_Status == SpeechStatus.SS_STARTED || m_Status == SpeechStatus.SS_READY ||
         m_Status == SpeechStatus.SS_LISTENING || m_Status == SpeechStatus.SS_RECOGNIZING)
     {
         SpeechAPI.CancleTask();
     }
 }
Exemplo n.º 7
0
    /// <summary>
    /// 停止录音
    /// </summary>
    public static void StopRecording()
    {
        if (!m_bInited)
        {
            m_Instance.Init();
        }
        if (m_Status == SpeechStatus.SS_STARTED || m_Status == SpeechStatus.SS_READY || m_Status == SpeechStatus.SS_LISTENING)
        {
            SpeechAPI.StopRecording();
#if UNITY_ANDROID && !UNITY_EDITOR
            SpeechEngine.Instance().InvokeRepeating("StatusRecover", 11.0f, 1.0f);
#endif
        }
    }
Exemplo n.º 8
0
 /// <summary>
 /// 初始化
 /// </summary>
 protected void Init()
 {
     m_Instance.SetUnityReceiver(this.transform.name);
     SpeechAPI.Init(m_sAppId, m_sAppKey);
     m_bInited = true;
 }
Exemplo n.º 9
0
 /// <summary>
 /// 设置回调对象名称
 /// </summary>
 /// <param name="gbName"></param>
 public void SetUnityReceiver(string gbName)
 {
     SpeechAPI.SetUnityReceiver(gbName);
 }