LEADTOOLS Multimedia API Help > Add-on Modules > LEADTOOLS Video Streaming Module > Processing Script Commands During Windows Media Video Playback |
This example shows how to handle WMV script commands during video playback.The script command is added to the file using the IltmmWMScript Interface.
1. |
Set and handle player notifications as follows: |
C Source
#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;
}
C++ Source
#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;
}
2. |
Set the play source as follows: |
C Source
IltmmPlay_put_SourceFile(g_play, L"source.wmv");
C++ Source
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.