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

如何在Streamlit表格或pandas DataFrame中每行嵌入音频播放器

Streamlit音频上传列表嵌入播放器实现方案

完全可落地,以下是无额外依赖的原生实现方案,适配你的需求:

首先明确:Streamlit 原生的 st.dataframe 和 st.table 不支持直接嵌入交互组件,因此用 st.columns 模拟表格布局是最稳妥的实现方式,代码示例如下:

import streamlit as st

# 你原有上传逻辑
uploaded_files = st.file_uploader("Upload", type=["wav", "ogg", "mp3", "mp4"], accept_multiple_files=True)

if uploaded_files:
    # 渲染表头,列宽可根据需求调整
    col_filename, col_player, col_size = st.columns([2, 3, 1.5])
    with col_filename:
        st.markdown("**文件名**")
    with col_player:
        st.markdown("**音频预览**")
    with col_size:
        st.markdown("**文件大小(MB)**")
    st.divider()

    # 逐行渲染每个文件信息和对应播放器
    for audio_file in uploaded_files:
        col_filename, col_player, col_size = st.columns([2, 3, 1.5])
        with col_filename:
            st.write(audio_file.name)
        with col_player:
            # 直接嵌入Streamlit原生音频播放器
            st.audio(audio_file)
        with col_size:
            st.write(round(audio_file.size / 1024 / 1024, 2))

如果需要排序、筛选等标准表格交互能力,可以安装第三方组件 streamlit-aggrid,通过自定义单元格渲染HTML音频标签实现,不需要引入其他外部资源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 17:45:03