#define MAKE_MEDIA_PATH(pFileName) (TEXT("C:\\Program Files (x86)\\LEAD Technologies\\LEADTOOLS 19\\Media\\")TEXT(pFileName))#include "ltmm.h"#include "ILMNetDmx2.h"void ClientSide_Example ( ){IltmmPlay* pPlay ;IUnknown* pUnk = NULL;ILMNetDmx* pDmx;long bitrate = 0;BSTR Message;BSTR sServer;BSTR szFileName;CoInitialize(NULL);CoCreateInstance(&CLSID_ltmmPlay, NULL, CLSCTX_INPROC_SERVER, &IID_IltmmPlay, (void**) &pPlay);// set the player source:sServer = SysAllocString(L"ltsf://10.0.4.23");IltmmPlay_put_SourceFile(pPlay , sServer);SysFreeString(sServer);// you can monitor the incoming bit rate by checking the BitRate property of// the demultiplexer object:IltmmPlay_GetSubObject (pPlay, ltmmPlay_Object_Splitter, &pUnk);IUnknown_QueryInterface(pUnk, &IID_ILMNetDmx, (void**) &pDmx);IUnknown_Release(pUnk);ILMNetDmx_get_BitRate(pDmx, &bitrate); // you may display the value// Get the output file nameILMNetDmx_get_OutputFileName(pDmx, &szFileName);if (szFileName == NULL){// Set the output file name to record the incoming streamszFileName = SysAllocString((OLECHAR*)MAKE_MEDIA_PATH("output.avi"));ILMNetDmx_put_OutputFileName(pDmx, szFileName);}SysFreeString(szFileName);// if the AutoStart property is not TRUE, you need to run the player:IltmmPlay_Run(pPlay);// To give a chance to receive some dataSleep(20000);/* to receive a text message sent by the server, use the ReadMessage method: *//* first, get the demux interface again (you might want to keep it for the life ofthe communication session:read the message: */ILMNetDmx_ReadMessage(pDmx, &Message);ILMNetDmx_Release(pDmx);IltmmPlay_Release(pPlay);CoUninitialize();/* do something with the message. *//* You need to call ReadMessage continuously to check for new messages.*/}
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
