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

課程簡介

媒體裝置處理

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

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

使用 navigator.mediaDevices 讀取媒體裝置

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

跨瀏覽器相容性

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

媒體裝置處理

  • 裝置初始化:getUserMedia(constraints)
  • 媒體裝置限制
  • 啟動及停止媒體流
  • 處理裝置變更

使用 MediaRecorder 錄製裝置

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

可選附加功能:

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

同端連接

訊令伺服器

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

透過 WebRTC 進行影片聊天

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

可選功能:

  • 掛斷通話(關閉連接,停止媒體)
  • 群組通話(多用戶房間)
  • 基於 Token 的簡單驗證

畫面分享

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

會話描述協議 (SDP)

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

使用 getStats() 獲取 WebRTC 統計數據

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

所有主題均包含

  • 動手實作案例

最低要求

本課程適合前端及全棧開發者、技術架構師,以及正在構建基於瀏覽器的即時通訊功能(如影片聊天、畫面分享或音訊串流)的工程師。學員應具備 JavaScript 及網路技術的運作知識,具有 Node.js 及基於 WebSocket 的通訊經驗者更佳。

客戶評論 (3)

課程分類