android - 在 Flutter 应用程序中检测来自麦克风的声音字节暂停
问题描述
我在 pub.dev 上遇到了这个插件 - https://pub.dev/packages/sound_stream - 在寻找从颤振应用程序(针对 Android 和 iOS)收听麦克风的解决方案时。
我可以使用这个插件来收听来自麦克风的用户话语以及在我的应用程序需要时播放音频。要求如下:
- 聆听来自麦克风的用户话语,
- 将从麦克风接收到的音频字节流转换为 base64 编码的字符串,
- 通过调用 REST API (POST) 将音频字符串发送到服务,
- 或者,如果服务返回音频(以 base64 编码字符串的形式),则解码音频输出字符串,并播放声音字节。
所有这些步骤都运行良好——无论是在 Android 还是 iOS 上。但是,在 MVP 中,我不知道如何检测用户话语中的暂停(在从麦克风接收的音频流中)并自动触发 REST API 调用。目前,我的应用程序要求用户打开和关闭麦克风按钮才能说话,然后将他们的音频发送到服务。因此,用户当前需要点击麦克风按钮(在我的应用程序上)以激活 sound_stream 插件的 RecorderStream,说话并再次点击麦克风按钮以关闭 RecorderStream,此时我的应用程序调用 API。这就像那些过去美好时光的对讲机!
我想避免这种情况,并在检测到用户语音暂停并将在此之前收到的声音字节发送到服务时无缝调用 API。关于我如何能够实现这一目标的任何想法?
任何提示将不胜感激。
解决方案
推荐阅读
- jquery - 如果带括号的条件在 js 中不起作用
- python - Python 模块与类
- html - 当浏览器具有一定宽度时背景img消失的问题
- google-apps-script - 如何在谷歌应用脚本中进行跨域?
- mysql - SQL,避免使用内部选择
- python - 如何从 QWidget 返回值
- spring-boot - 在 Kotlin 中创建 Spring 的 ParameterizedTypeReference 实例
- angular - 将 Angular 6 部署到 Azure Web 应用程序时如何确保深度链接
- python - 用白色像素填充opencv中的扩展区域
- python - .grid() 默认情况下在 Tkinter (Python) 中没有将我的小部件居中