線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:772
推到 Plurk!
推到 Facebook!

想替換MediaPlayer中的dll

尚未結案
fullgui
一般會員


發表:22
回覆:28
積分:10
註冊:2003-04-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-24 13:35:59 IP:163.28.xxx.xxx 未訂閱
請問各位大大,BCB有提供播放介面MediaPlayer,可是我想只用它的介面,至於它的功能如play或是影音資料的分流,我想使用我自己寫的dll,有無方法可以讓我讓MediaPlyer去call我的dll中的函式?然後用我的dll去把資料解碼或做video和audio的分流動作,謝謝大家。
mkbobo
一般會員


發表:4
回覆:68
積分:19
註冊:2003-04-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-04 18:46:48 IP:61.222.xxx.xxx 未訂閱
您好 我節錄自D6  某.pas 
這段是開檔的    mciSendCommand(0, mci_Open, FFlags, Longint(@OpenParm)); 
這段是撥放的    mciSendCommand( FDeviceID, mci_Play, FFlags, Longint(@PlayParm));
由上面可以知道 它都是使用windows 的API 所以我原本想說利用覆載的方法提供你參考 但是我想除非你將 所有的使用到WIN API的都重新導向到你的DLL 在利用你的DLL做切換 不然我沒想到更好的方法 但是呢 想到這 就又會覺得乾脆自己寫好了 我的想法是你可以等待有高手提供你方法 或是乾脆自己寫 或許你可以模仿它 可能來的更快 寫到這我又想到或者你可以覆載mciSendCommand() 利用它在包一次 這樣 你連BCB的MediaPlayer 都不用動就可以用拉 問我怎麼做? 我不知道實際上是不是真的可以覆載WINDOWS的 API 但是可以提供你概念
mciSendCommand() << 舊WIN API    mciSendCommand() << 新的 自己寫的
{
   if(自己的影音格式)
      呼叫自己的dll
   else 
      呼叫舊的mciSendCommand()
}
如果你真的要用這個方法 有兩個重點 一就是你要找怎麼覆載WINDOWS API的方法 二你要確保你覆載後別人的可以正常叫到舊的那個 而新的也可以正常工作(好像是廢話)
fullgui
一般會員


發表:22
回覆:28
積分:10
註冊:2003-04-01

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-12-05 17:05:09 IP:210.71.xxx.xxx 未訂閱
謝謝你的意見
系統時間:2024-05-13 7:57:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!