This example shows how to access the ltmmWMScript object, using it to create script commands when converting to WMV video.
1. |
Set the convert source, target and target format as follows: |
C Source
IltmmConvert_put_SourceFile(pConvert, L"source.avi");
IltmmConvert_put_TargetFile(pConvert, L"target.wmv");
IltmmConvert_put_TargetFormat(pConvert, ltmmConvert_TargetFormat_WMV_Mux);
C++ Source
pConvert->put_SourceFile(L"source.avi");
pConvert->put_TargetFile(L"target.wmv");
pConvert->put_TargetFormat(ltmmConvert_TargetFormat_WMV_Mux);
2. |
Call the convert object to retrieve the target filter as follows: |
C Source
IUnknown *pUnk;
IltmmConvert_GetSubObject(pConvert, ltmmConvert_Object_TargetFilter, &pUnk);
C++ Source
IUnknown *pUnk;
pConvert->GetSubObject(ltmmConvert_Object_TargetFilter, &pUnk);
3. |
Retrieve the ltmmWMScript interface as follows: |
C Source
IltmmWMScript *pWMScript;
IUnknown_QueryInterface(pUnk, &IID_IltmmWMScript, (void**)&pWMScript);
IUnknown_Release(pUnk);
C++ Source
IltmmWMScript *pWMScript;
pUnk->QueryInterface(&IID_IltmmWMScript, (void**)&pWMScript);
pUnk->Release();
4. |
Add a header script at 5.0 seconds as follows: |
C Source
IltmmWMScript_AddHeaderScript(pWMScript, L"caption", L"Test Caption", 5.0);
C++ Source
pWMScript->AddHeaderScript(L"caption", L"Test Caption", 5.0);
5. |
Clean up the ltmmWMScript object as follows: |
C Source
IUnknown_Release(pWMScript);
C++ Source
pWMScript->Release();
6. |
Start the conversion as follows: |
C Source
IltmmConvert_StartConvert(pConvert)
C++ Source
pConvert->StartConvert();
For the complete C example, refer to IltmmWMScript HeaderScripts Example for C.
For the complete C++ example, refer to IltmmWMScript HeaderScripts Example for C++.
To see how to handle script commands during playback, see Processing Script Commands During Windows Media Video Playback.