This example shows how to handle WMV script commands during video playback.The script command is added to the file using the IltmmWMScript Interface.
Set and handle player notifications as follows:
#define WM_PLAYERNOTIFY (WM_USER + 1000)
LRESULT CALLBACK MainWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_CREATE:
IltmmPlay_SetNotifyWindow(g_player, (long)hwnd, WM_PLAYERNOTIFY);
break;
case WM_PLAYERNOTIFY:
switch (wParam)
{
case ltmmPlay_Notify_MediaEvent:
{
ltmmMediaEvent* event = (ltmmMediaEvent*)lParam;
switch (event->lEventCode)
{
case ltmmEC_OLE_EVENT:
{
// do something with WMScript commands;
BSTR bstrCmd = (BSTR)event->lParam1;
BSTR bstrCmdText = (BSTR)event->lParam2;
}
break;
}
}
}
break;
default:
return DefWindowProc(hwnd, message, wParam, lParam);
}
return 0;
}
#define WM_PLAYERNOTIFY (WM_USER + 1000)
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_WM_CREATE()
ON_MESSAGE(WM_PLAYERNOTIFY, OnPlayerNotify)
END_MESSAGE_MAP()
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
m_player->SetNotifyWindow((long)m_hWnd, WM_PLAYERNOTIFY);
}
LRESULT CMainFrame::OnPlayerNotify(WPARAM wParam, LPARAM lParam)
{
switch (wParam)
{
case ltmmPlay_Notify_MediaEvent:
{
ltmmMediaEvent* event = (ltmmMediaEvent*)lParam;
switch (event->lEventCode)
{
case ltmmEC_OLE_EVENT:
{
// do something with WMScript events;
BSTR bstrCmd = (BSTR)event->lParam1;
BSTR bstrCmdText = (BSTR)event->lParam2;
}
break;
}
}
break;
}
return 0;
}
Set the play source as follows:
IltmmPlay_put_SourceFile(g_play, L"source.wmv");
m_play->put_SourceFile(L"source.wmv");
To see how to add script command to the file, refer to Adding Script Commands to Windows Media Video.
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document