-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Description
自动播放流程图
🖥️ 桌面端自动播放流程
flowchart TD
A[播放器初始化] --> B[检测来源网站]
B --> C{来源类型判断}
C -->|同域名内部访问| D[直接尝试播放]
C -->|外部来源| E[等待用户交互+鼠标检测]
C -->|直接访问| E
D --> F[播放成功?]
F -->|成功| G[✅ 自动播放完成]
F -->|失败| H[回退到用户交互模式]
H --> I[监听用户交互事件]
E --> J[监听用户交互+鼠标移动]
J --> K{检测到用户交互?}
K -->|是| L[记录交互时间]
K -->|否| J
L --> M{鼠标在中央区域?}
M -->|是| N[开始1.5秒倒计时]
M -->|否| J
N --> O{倒计时结束检查}
O -->|鼠标在页面内+近期有交互| P[执行自动播放]
O -->|条件不满足| Q[❌ 取消自动播放]
P --> R[播放成功?]
R -->|成功| G
R -->|失败| S[等待用户明确点击]
I --> T{用户交互事件?}
T -->|点击/按键| U[直接播放]
T -->|否| I
U --> G
S --> V[监听首次用户交互]
V --> W{用户明确点击?}
W -->|是| U
W -->|否| V
style A fill:#e1f5fe
style G fill:#c8e6c9
style Q fill:#ffcdd2
style S fill:#fff3cd
📱 移动端自动播放流程
flowchart TD
A[播放器初始化] --> B[检测来源网站]
B --> C[检测页面刷新状态]
C --> D{访问类型判断}
D -->|同域名+首次访问| E[直接尝试播放]
D -->|同域名+页面刷新| F[等待用户明确交互]
D -->|外部来源| G[等待用户明确交互]
D -->|直接访问| H[直接尝试播放]
E --> I[播放成功?]
I -->|成功| J[✅ 自动播放完成]
I -->|失败| K[回退到用户交互模式]
F --> L[监听用户交互事件]
G --> L
H --> I
K --> L
L --> M{检测到用户交互?}
M -->|是| N[在交互上下文中直接播放]
M -->|否| L
N --> O[播放成功?]
O -->|成功| J
O -->|失败| P[继续等待下一次交互]
P --> L
style A fill:#e1f5fe
style J fill:#c8e6c9
style K fill:#fff3cd
style P fill:#ffeb3b
经过测试
在大部分情况下虽然提示 基本可以解决 Metadata
Metadata
Assignees
Labels
No labels