#import "../CCNMediaTerm/CCNSMT/CCNSMT.tlb" no_namespace, raw_interfaces_only
|
|
|
#include <stdio.h>
|
|
|
|
|
int altavoz = 50;
|
int micro = 50;
|
int puerto = 6666;
|
BSTR direccionSOS;
|
char * sos;
|
|
|
DWORD WINAPI controladorIn (LPVOID args)
|
{
|
|
|
HRESULT hr = CoInitialize(NULL);
|
ICCNMediaTermPtr pICCNMediaTerm(__uuidof(CCNMediaTerm));
|
pICCNMediaTerm->Initialize();
|
|
|
|
// Conexio
|
|
|
pICCNMediaTerm->SetAudioCodecRX(2, 20, 0, 0);
|
pICCNMediaTerm->SetAudioReceivePort(puerto);
|
pICCNMediaTerm->SetAudioCodecTX(2, 20, 0, 0, 0, 0);
|
pICCNMediaTerm->SetAudioDestination(direccionSOS, 6666);
|
//pICCNMediaTerm->SetAudioDestination(L"172.16.56.51", 6666);
|
pICCNMediaTerm->StartRX(-1);
|
pICCNMediaTerm->StartTX(-1);
|
pICCNMediaTerm->SetSpeakerVolume(-1, altavoz);
|
pICCNMediaTerm->SetMicrophoneVolume(-1, micro);
|
|
|
//char mensaje[1024];
|
//sprintf(mensaje, "%s %s %d %d %d\n",sos, direccionSOS, puerto, altavoz, micro);
|
//MessageBox(NULL, mensaje, NULL, 0);
|
//MessageBox(NULL, (LPCSTR)direccionSOS, NULL, 0);
|
|
char comando[1024];
|
|
|
while (true)
|
{
|
|
//MessageBox(NULL, "Controlador", NULL, 0);
|
|
fscanf (stdin, "%s",comando);
|
|
|
//MessageBox(NULL, comando, NULL, 0);
|
|
|
|
if (strcmp(comando, "pause") == 0)
|
{
|
pICCNMediaTerm->StopRX();
|
pICCNMediaTerm->StopTX();
|
}
|
else if (strcmp(comando, "resume") == 0)
|
{
|
pICCNMediaTerm->StartRX(-1);
|
pICCNMediaTerm->StartTX(-1);
|
}
|
else if (strcmp(comando, "StartRX") == 0)
|
{
|
pICCNMediaTerm->StartRX(-1);
|
}
|
else if (strcmp(comando, "StopRX") == 0)
|
{
|
pICCNMediaTerm->StopRX();
|
}
|
else if (strcmp(comando, "StartTX") == 0)
|
{
|
pICCNMediaTerm->StartTX(-1);
|
}
|
else if (strcmp(comando, "StopTX") == 0)
|
{
|
pICCNMediaTerm->StopTX();
|
}
|
else if (strcmp(comando, "SetSpeakerVolume") == 0)
|
{
|
fscanf (stdin, "%d",&altavoz);
|
pICCNMediaTerm->SetSpeakerVolume(-1, altavoz);
|
}
|
else if (strcmp(comando, "SetMicrophoneVolume") == 0)
|
{
|
fscanf (stdin, "%d",µ);
|
pICCNMediaTerm->SetMicrophoneVolume(-1, micro);
|
}
|
else if ((strcmp(comando, "close") == 0) || (strcmp(comando, "stop") == 0))
|
{
|
|
// Desconexion
|
|
pICCNMediaTerm->StopRX();
|
pICCNMediaTerm->StopTX();
|
pICCNMediaTerm->UnInitialize();
|
pICCNMediaTerm = 0;
|
CoUninitialize();
|
exit(0);
|
}
|
else if (strcmp(comando, "GetSpeakerVolume") == 0)
|
{
|
fprintf(stdout, "%d\r", altavoz);
|
fflush(stdout);
|
}
|
else if (strcmp(comando, "GetMicrophoneVolume") == 0)
|
{
|
fprintf(stdout, "%d\r", micro);
|
fflush(stdout);
|
}
|
|
}
|
|
return 0;
|
}
|
|
|
|
|
|
|
|
int main(int argc, char * argv[])
|
{
|
|
altavoz = atoi(argv[1]);
|
micro = atoi(argv[2]);
|
puerto = atoi(argv[3]);
|
sos = argv[4];
|
|
#ifndef _UNICODE
|
OLECHAR* oleChar = NULL;
|
oleChar = (OLECHAR*)calloc(strlen(sos)+1, sizeof(OLECHAR));
|
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, sos, -1, oleChar, strlen(sos)+1);
|
direccionSOS = SysAllocString(oleChar);
|
free(oleChar);
|
oleChar = NULL;
|
#else
|
direccionSOS = SysAllocString(sos);
|
#endif
|
|
|
// Control
|
|
DWORD threadId;
|
CreateThread( NULL, 0, controladorIn, NULL, 0, &threadId);
|
|
while (true)
|
{
|
Sleep(60000);
|
}
|
|
|
return 0;
|
}
|