【问题标题】:android code to pick the voice through callandroid代码通过通话选择语音
【发布时间】:2012-12-22 17:57:00
【问题描述】:

是否有任何android代码可以在通话中从对方那里挑选声音? 意思是当我在我的电话中与另一个人交谈时,我可以播放一个选择语音的扬声器,我可以将此语音定向到我的应用程序以进行录制、识别或转换为文本吗? 由于我的目标是将通话中的语音转换为文本。

提前致谢。

【问题讨论】:

    标签: android voice-recognition speech-to-text


    【解决方案1】:

    使用广播接收器处理调用

    public void onReceive(Context context, Intent intent) {
    
        String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
    
        if(state.equals(TelephonyManager.EXTRA_STATE_RINGING)){
    
    
        }else if(state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK){
            //apply recording here
    
    
        }else if (state.equals(TelephonyManager.EXTRA_STATE_IDLE)){
            //stop recording
    
        }
    
    }
    

    要将语音转换为文本,请关注Link

    【讨论】:

      【解决方案2】:

      您可以从AudioSource.VOICE_DOWNLINK 录制。但请记住,这可能不适用于现有的每部 Android 手机,并且语音通话音频被高度压缩,因此可能无法从 Speech-To-Text 引擎给您带来任何好的结果。

      【讨论】:

      • 感谢您的回答。但是录音机并不是我想要的。我想通过通话选择另一端的声音,例如当您在电话中给我打电话时,我想在我的应用程序中以编程方式选择您的声音。
      • “挑选”是什么意思?对我来说,这听起来像是您想要做的是记录语音呼叫下行链路。如果你使用 AudioRecord 类,你可以重复调用它的read() 方法来获取更多的音频数据到你可以处理的缓冲区中。
      • 我的意思是我不想记录我希望在对话期间(当前)进行的从语音到文本的对话的通话。我的目标是帮助聋人在通话期间通过语音到文本识别器与其他人通话。不录音
      • 您可以使用我建议的方法来做到这一点。 AudioRecord 类允许您将指定源中的音频数据读取到缓冲区中(例如,您可以将其输入到语音到文本引擎中)。它不会将音频数据保存到文件中。在北美市场上发布的手机应该已经支持适合聋人和/或静音人的 TTY,尽管它需要特殊的配件。
      • 好吧,我明白你的意思了。非常感谢。
      猜你喜欢
      • 2021-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-24
      • 1970-01-01
      相关资源
      最近更新 更多