聯繫我們
 課程時長 14 時間:

課程簡介

媒體裝置處理

使用 navigator.permissions 進行瀏覽器權限管理

  • 存取硬體:
    • 網路攝影機
    • 麥克風
  • 選配權限:
    • 地理位置
    • 通知
    • 剪貼簿(讀/寫)
  • 權限查詢與狀態
  • 限制與瀏覽器相容性

使用 navigator.mediaDevices 讀取媒體裝置

  • 裝置列舉
  • 處理裝置變更

跨瀏覽器相容性

  • API 使用:
    • navigator.permissions.query()
    • navigator.mediaDevices.enumerateDevices()
    • getUserMedia()
  • Safari 回退策略

媒體裝置處理

  • 裝置初始化:getUserMedia(constraints)
  • 媒體裝置約束條件
  • 啟動與停止媒體串流
  • 處理裝置變更

使用 MediaRecorder 錄製裝置

  • 啟動/停止串流與錄製
  • 下載 .webm 檔案
  • 即時波形預覽

選配附加功能:

  • 使用 ScriptProcessorNode 以 .wav 格式儲存
  • 音訊 FFT 頻譜視覺化
  • 分貝音量條
  • 使用 webkitSpeechRecognition 進行語音識別

同儕連線 (Peer Connection)

訊令伺服器 (Signaling Servers)

  • 雙向通道選項:
    • WebSocket
    • Socket.io
    • SignalR
  • 訊息結構
  • 簡化的 WebRTC 客戶端
  • 完整訊令流程

透過 WebRTC 進行視訊聊天

  • 架構:Node.js + ws
  • WebRTC 客戶端:RTCPeerConnection
  • 本地端 E2E 測試

選配功能:

  • 掛斷通話(關閉連線、停止媒體)
  • 群組通話(多使用者房間)
  • 基於 Token 的簡單身份驗證

螢幕共享

  • 使用 getDisplayMedia()
  • 架構與選項

會話描述協議 (SDP)

  • 介紹與內容
  • 讀取與解讀 SDP
  • 編解碼器:
    • 音訊與視訊
    • 協商與控制
    • 回退策略

使用 getStats() 進行 WebRTC 統計

  • 統計類型
  • 如何解讀統計數據
  • 即時位元率/抖動圖表
  • 品質適應策略

所有主題均包含

  • 實務操作使用案例

最低要求

本課程適合前端與全端開發者、技術架構師,以及正在建置基於瀏覽器即時通訊功能(如視訊聊天、螢幕共享或音訊串流)的工程師。學員應具備 JavaScript 及網頁技術的基礎知識,並選修 Node.js 及基於 WebSocket 的通訊經驗。

客戶評論 (3)

即將到來的課程

課程分類