| 層級 | 選項 | 特點 |
|---|---|---|
| 底層多媒體 | FFmpeg (libav*) | 全能、C API、LGPL/GPL、跨平台 |
| C++ 封裝 | FFmpegWrapper、cpp-ffmpeg | RAII 風格、異常安全 |
| 音頻處理 | PortAudio、RtAudio、NAudio (C#) | 實時錄音/播放、混音 |
| UI 框架 | Qt (C++)、WPF/WinUI 3 (C#)、Electron (JS) | 豐富控件、GPU 加速渲染 |
| 視頻預覽 | DirectShow、Media Foundation、VLC (libvlc) | 硬解、多格式支持 |
// 簡單線性混音(防削頂)
float mixed = (sample1 + sample2) * 0.5f;
// 或 RMS 保持響度
float mixed = (float)Math.Sqrt(sample1*sample1 + sample2*sample2);
不建議從零寫解碼器,**站在 FFmpeg/MLT/NAudio 巨人肩上**構建業務邏輯。GitHub/CodeProject 有大量可直接參考的模塊化代碼。