# 🎬 演示功能總結

## 當前可用的演示模式

### 1️⃣ 說話人演示模式（已實現）

```bash
# 快速演示（每個說話人 1 個片段）
./run_demo.sh --quick

# 標準演示（每個說話人 3 個片段）
./run_demo.sh

# 視頻演示
./run_demo.sh --video
```

**特點**：
- ✅ 按 ASRX 數據播放
- ✅ 顯示說話人統計
- ✅ 顯示演員名和角色名
- ✅ 支持音頻/視頻模式

---

### 2️⃣ 連續播放模式（簡化版）

```bash
# 音頻模式
./play_continuous.sh

# 視頻模式
./play_continuous.sh --video
```

**特點**：
- ✅ 從頭到尾連續播放
- ✅ 顯示說話人和時間信息
- ✅ 支持視頻顯示
- ⚠️ 不能暫停（按 Ctrl+C 停止）

**實現原理**：
- 使用 `jq` 解析 ASRX JSON
- 循環調用 `ffplay` 播放每個片段
- 簡單高效

---

## 演示效果

### 說話人演示

```
🎬 Integrated Player for ASR/Face/ASRX/Pose
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Video: "/tmp/charade_audio.wav"
✓ Loaded 1118 ASRX segments, 8 speakers

📊 Speaker Statistics:
--------------------------------------------------------------------------------
Speaker ID      Actor                Character              Segments   Duration
--------------------------------------------------------------------------------
SPEAKER_0       Cary Grant           Peter Joshua                654    1764.4s
SPEAKER_1       Audrey Hepburn       Regina Lampert              403    1119.4s
SPEAKER_2       Walter Matthau       Hamilton Bartholomew         49      65.7s
SPEAKER_4       James Coburn         Tex Panthollow                3      44.1s
--------------------------------------------------------------------------------

🎭 Demo: SPEAKER_0 → Cary Grant (Peter Joshua)
================================================================================
⏱  Time: 374.80s - 375.90s
🎤 Speaker: SPEAKER_0 → Cary Grant (Peter Joshua)
================================================================================
⏳ Playing audio...
```

### 連續播放

```
🎬 连续演示模式
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📺 从头到尾播放所有 ASRX 片段
⏸️  按 Ctrl+C 停止
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

📊 总片段数: 1118

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[1/1118] 🎤 SPEAKER_5
⏱  1.8s - 2.6s (0.8s)
🔊 播放中...

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[2/1118] 🎤 SPEAKER_4
⏱  14.2s - 21.5s (7.3s)
🔊 播放中...
```

---

## 使用建議

### 適用場景

| 模式 | 適用場景 | 優點 | 缺點 |
|------|----------|------|------|
| **說話人演示** | 展示、分析 | 按說話人跳躍、完整信息 | 不連續 |
| **連續播放** | 完整體驗 | 從頭到尾、不間斷 | 不能暫停 |

### 推薦用法

#### 1. 快速了解內容
```bash
./run_demo.sh --quick
```

#### 2. 說話人分析
```bash
./run_demo.sh
```

#### 3. 完整觀看
```bash
./play_continuous.sh --video
```

---

## 技術實現

### 說話人演示
- **語言**: Rust
- **實現**: `integrated_player` binary
- **數據源**: ASRX JSON
- **控制**: 預設片段數

### 連續播放
- **語言**: Bash
- **實現**: `play_continuous.sh` 腳本
- **數據源**: ASRX JSON
- **控制**: Ctrl+C 停止
- **工具**: jq, ffplay

---

## 未來改進

### 計劃功能

1. **暫停控制**
   - 使用 Rust 實現
   - 支持鍵盤交互
   - 空格鍵暫停

2. **進度條**
   - 顯示當前進度
   - 剩餘時間估算

3. **字幕疊加**
   - 在視頻上顯示 ASR 文字
   - 支持多語言

4. **人臉標註**
   - 在視頻上畫出人臉框
   - 實時顯示檢測結果

5. **完整信息展示**
   - ASR 文字
   - 人臉檢測
   - 嘴部動作
   - OCR 文字
   - 場景識別

---

## 常見問題

### Q: 為什麼連續模式不能暫停？

A: 簡化版使用 Bash 腳本實現，沒有鍵盤監聽功能。完整版需要 Rust 實現，目前開發中。

### Q: 說話人演示為什麼會跳躍？

A: 說話人演示按說話人分組播放，會跳過其他說話人的片段。連續模式才會完整播放。

### Q: 如何查看所有片段？

A: 使用連續播放模式：
```bash
./play_continuous.sh
```

### Q: 播放速度如何？

A: 兩種模式都按實際時長播放。說話人演示有 2 秒暫停。

---

## 快速命令參考

```bash
# 說話人演示（音頻）
./run_demo.sh

# 說話人演示（視頻）
./run_demo.sh --video

# 快速演示
./run_demo.sh --quick

# 連續播放（音頻）
./play_continuous.sh

# 連續播放（視頻）
./play_continuous.sh --video
```

---

**更新日期**: 2026-04-02
**版本**: 2.1.0
**作者**: Momentry Team