[問題] DirectShow的問題,關於IMediaSeeking
各位板友好,小弟有個關於IMediaSeeking的問題如下
小弟使用DirectShow寫了一個SourceFilter來播放音樂
另外query了IMediaSeeking這個interface用來查詢音檔的總長度
一開始運作都正常
但是遇到一個問題是
如果我把SourceFilter的音檔直接換掉,換成另一個檔案
雖然可以正常換歌播放,但是IMediaSeeking::GetDuration()抓到的長度
不會更新成新的音檔長度,還是會抓到之前的長度
請問這應該是什麼原因造成的呢?
附註: 我用的sourcefilter 是從sample裡面的Async改出來的,
換歌時直接Call他的Load() function換路徑給它
換歌前有用IMediaControl下Stop的動作再Load,確定Load成功才Run,
播放都OK就是取長度這塊不對 XD
希望有大大可以給我一個方向去修正,或是直接點出我的錯誤 感恩~~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.67.90.20
→
11/16 21:37, , 1F
11/16 21:37, 1F
→
11/17 00:20, , 2F
11/17 00:20, 2F
→
11/17 00:21, , 3F
11/17 00:21, 3F
推
11/17 01:17, , 4F
11/17 01:17, 4F
→
11/17 09:18, , 5F
11/17 09:18, 5F