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 API
    #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++
    #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 API
    IltmmPlay_put_SourceFile(g_play, L"source.wmv"); 
    C++
    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 Version 22.0.2023.1.26
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Multimedia C API Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.