Create a File with One Video Stream and One Audio Stream
The following code can be used to create a file with one video stream and one audio stream:
BSTR bstr;
CString fname;
HRESULT hr;
USES_CONVERSION;
if(m_pConvert == NULL )
return;
// Create the profile manager object
hr = CoCreateInstance(CLSID_ltmmWMProfileManager, NULL, CLSCTX_INPROC_SERVER, IID_IltmmWMProfileManager, (void**) &m_pProfMan);
// create an empty profile
hr = m_pProfMan->CreateEmptyProfile(ltmmWMT_VER_7_0, &m_pProf);
// Set the profile name and description
hr = m_pProf->put_Name(L"Video_Stream_test");
hr = m_pProf->put_Description(L"Example code 1");
// add 1 audio stream
// see the complete demo to check the AddAudioStream function code.
hr = AddAudioStream(m_pProfMan, m_pProf, 1, CODEC_AUDIO_MSAUDIO, 8000, 8000, 1, TRUE);
// Add 1 video stream
// see the complete demo to check the AddVideoStream function code.
hr = AddVideoStream(m_pProfMan, m_pProf, 2, CODEC_VIDEO_WMV1, 200000, 320, 240, 25, 0, 4);
// add the profile to the convert object
hr = m_pConvert->put_WMProfile(m_pProf);
m_pProf->Release();
m_pProfMan->Release();
//set the target format
hr = m_pConvert->put_TargetFormat(ltmmConvert_TargetFormat_Asf_Compressor_Mux );
// set the source file name:
fname = "Hiway_AV.avi";
bstr = fname.AllocSysString();
hr = m_pConvert->put_SourceFile(bstr);
SysFreeString(bstr);
// set the output file name:
fname = "Hiway_AV.asf";
bstr = fname.AllocSysString();
hr = m_pConvert->put_TargetFile(bstr);
SysFreeString(bstr);
hr = m_pConvert->StartConvert();