Skip to content

自动播放优化 #9

@sirvffg

Description

@sirvffg

自动播放流程图

🖥️ 桌面端自动播放流程

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
Loading

📱 移动端自动播放流程

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
Loading

经过测试

Image 在大部分情况下虽然提示 基本可以解决

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions