文章目录
- 一、`st.audio`:音频播放器
-
- [1.1 核心参数](#1.1 核心参数)
- [1.2 示例代码](#1.2 示例代码)
- 二、`st.image`:图片展示器
-
- [2.1 核心参数](#2.1 核心参数)
- [2.2 示例代码](#2.2 示例代码)
- 三、`st.logo`:侧边栏Logo组件
-
- [3.1 核心参数](#3.1 核心参数)
- [3.2 示例代码](#3.2 示例代码)
- 四、`st.pdf`:PDF预览组件
-
- [4.1 核心参数](#4.1 核心参数)
- [4.2 示例代码](#4.2 示例代码)
- 五、`st.video`:视频播放器
-
- [5.1 核心参数](#5.1 核心参数)
- [5.2 示例代码](#5.2 示例代码)
一、st.audio:音频播放器
用于在页面渲染音频播放控件,支持本地文件、网络URL、字节流、NumPy音频波形数组。
1.1 核心参数
| 参数 | 说明 |
|---|---|
data |
音频源:本地路径/在线URL/二进制字节/Numpy波形数组 |
format |
音频MIME格式,默认audio/wav,MP3填audio/mpeg |
start_time/end_time |
播放起始/结束时间,支持数字秒、timedelta、时间字符串 |
sample_rate |
仅Numpy数组音频必填,采样率 |
loop |
是否循环播放,布尔值 |
autoplay |
是否自动播放,浏览器限制无交互时无法自动播放 |
1.2 示例代码
python
import streamlit as st
# 本地MP3循环播放
st.audio("cat-purr.mp3", format="audio/mpeg", loop=True)
# Numpy生成正弦波音频
import numpy as np
sample_rate = 44100
seconds = 2
t = np.linspace(0, seconds, seconds * sample_rate, False)
note = np.sin(440 * t * 2 * np.pi)
st.audio(note, sample_rate=sample_rate)

二、st.image:图片展示器
渲染单张或多张图片,支持图片文件、URL、字节、Numpy数组、SVG文本。
2.1 核心参数
| 参数 | 说明 |
|---|---|
image |
图片源:路径/URL/二进制/PIL数组/SVG字符串,支持列表批量展示 |
caption |
图片底部说明文字,多张图传入文字列表 |
width |
图片固定宽度像素 |
use_container_width |
图片宽度铺满父容器 |
clamp |
限制像素值0-255,仅Numpy数组生效 |
channels |
数组图片通道格式,RGB默认,OpenCV图片填BGR |
output_format |
图片传输格式:auto/JPEG/PNG |
2.2 示例代码
python
import streamlit as st
# 基础图片+图注
st.image("sunrise.jpg", caption="Sunrise by the mountains")
# 铺满容器宽度
st.image("demo.png", use_container_width=True)

三、st.logo:侧边栏Logo组件
在App左上角与侧边栏顶部渲染品牌Logo,侧边栏收起时可切换小图标。
3.1 核心参数
| 参数 | 说明 |
|---|---|
image |
侧边栏展开时显示的横版Logo(支持所有st.image图片格式,不可传列表) |
size |
Logo尺寸:small(20px)/medium(24px 默认)/large(32px) |
link |
点击Logo跳转的外部链接,需http/https开头 |
icon_image |
侧边栏收起时显示的方形小图标,不传则始终显示image |
3.2 示例代码
python
import streamlit as st
# 侧边栏大图、收起后小图标,附带跳转链接
st.logo(
"images/horizontal_logo.png",
link="https://streamlit.io/gallery",
icon_image="images/icon_logo.png"
)

四、st.pdf:PDF预览组件
内嵌PDF阅读器,直接展示PDF文件,支持本地文件、URL、字节流。
4.1 核心参数
data:PDF文件路径/在线链接/二进制字节width/height:预览窗口宽高像素use_container_width:预览宽度铺满容器
4.2 示例代码
python
import streamlit as st
st.pdf("report.pdf", height=800)
五、st.video:视频播放器
渲染视频播放控件,支持本地视频、在线URL(含YouTube)、字节流,内置字幕功能。
5.1 核心参数
| 参数 | 说明 |
|---|---|
data |
视频源:本地文件/在线URL/二进制字节/Numpy视频数组 |
format |
视频MIME格式,默认video/mp4 |
start_time/end_time |
播放起止时间,数字秒、时间字符串、timedelta |
subtitles |
字幕文件:VTT/SRT文件路径、字节、字典(多语言字幕) |
loop |
循环播放 |
autoplay |
自动播放,需搭配muted=True绕过浏览器限制 |
muted |
默认静音播放 |
5.2 示例代码
python
import streamlit as st
# 本地视频+外置VTT字幕
st.video("demo.mp4", subtitles="subtitles.vtt", loop=True)
# 静音自动播放
st.video("bg.mp4", autoplay=True, muted=True)