You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Gradio应用中推理完成后自动清除麦克风输入?

在Gradio live模式下自动清除麦克风输入

要实现推理完成后自动清空麦克风输入,你需要利用Gradio的组件状态更新机制——让推理函数同时返回输出文本和清空后的音频组件状态,具体步骤如下:

  • 修改Interface的outputs参数,将音频输入组件也纳入输出列表,让函数可以直接更新它的状态
  • 在inference函数末尾,返回**(推理结果文本, None)**,None会触发音频组件清空

修改后的完整代码:

import gradio as gr

def inference(audio_path):
    # 这里替换为你的实际推理逻辑
    result = "推理完成的结果内容"
    # 返回结果文本 + 清空音频组件的指令
    return result, None

audio_input = gr.Audio(source="microphone", type="filepath")
demo = gr.Interface(
    fn=inference, 
    inputs=audio_input,
    outputs=["text", audio_input],  # 新增音频组件到输出列表
    live=True
)
demo.launch()

原理说明:

  • 当live=True时,录音停止会触发inference函数,函数返回的第二个值None会传递给音频输入组件,触发其清空操作
  • 这种通过返回值更新组件状态的方式,是Gradio官方认可的可靠方案,比重新初始化组件更适配live模式的运行逻辑

内容的提问来源于stack exchange,提问作者Corey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 07:52:04