這是工作好,我得到壓縮視頻DirectShow的IMediaSeeking位置總是返回0
(graph as IMediaFilter).SetSyncSource(null).Check();
IMediaControl mc = graph as IMediaControl;
mc.Run().Check();
但這IMediaSeeking位置始終返回0,爲什麼?
(graph as IMediaFilter).SetSyncSource(null).Check();
IMediaControl mc = graph as IMediaControl;
IMediaSeeking ms = mux as IMediaSeeking;
mc.Run().Check();
long length;
ms.GetDuration(out length).Check();
long pos;
while (ms.GetCurrentPosition(out pos).Succeeded() && pos < length)
{
//this pos always 0
}
也許這個'IMediaSeeking'實現(在這個多路複用器過濾器上)不是報告位置,或者它沒有正確報告它。 –
爲什麼?這是所有標準 gb.SetOutputFileName(DShowIDs.MEDIASUBTYPE_Avi, dest_file,out mux,out sink).Check(); gb.RenderStream(null,null,overlay_filter,compressor,mux).Check(); –