Feature(audio): forward client PCM to web viewers with continuous playback
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
#include "2015RemoteDlg.h"
|
||||
|
||||
#include "common/config.h"
|
||||
#include "common/commands.h" // 包含 AudioFormat 定义
|
||||
|
||||
extern "C"
|
||||
{
|
||||
@@ -349,11 +350,22 @@ public:
|
||||
short* m_pOpusDecodeBuffer = nullptr; // Opus 解码输出缓冲区
|
||||
#endif
|
||||
|
||||
// 网页端音频发送状态
|
||||
BOOL m_bAudioFormatSent = FALSE; // 是否已发送格式信息到网页
|
||||
AudioFormat m_AudioFormatWeb = {}; // 上次发送给网页的格式
|
||||
|
||||
// 音频到网页的多线程同步
|
||||
std::mutex m_AudioWebMutex; // 保护音频发送状态的互斥锁
|
||||
// 注意:m_Settings.AudioEnabled 是全局的音频启用/禁用状态
|
||||
|
||||
void OnAudioData(BYTE* pData, UINT32 len); // 处理音频数据
|
||||
BOOL InitAudioPlayback(const AudioFormat* fmt); // 初始化音频播放
|
||||
void StopAudioPlayback(); // 停止音频播放
|
||||
void DisableAudio(); // 禁用音频(从网页命令)
|
||||
void EnableAudio(); // 启用音频(从网页命令)
|
||||
void SendAudioCtrl(BYTE enable, BYTE persist); // 发送音频控制命令
|
||||
void FeedAudioBuffers(); // 填充音频缓冲区
|
||||
void SendAudioToWeb(const BYTE* pAudioData, UINT32 len, const WAVEFORMATEX* pFormat, BYTE compression); // 发送音频到网页 (compression=AudioCompression)
|
||||
|
||||
int GetClientRTT(); // 获取客户端RTT(ms)
|
||||
void EvaluateQuality(); // 评估并调整质量
|
||||
|
||||
Reference in New Issue
Block a user