会使用realplay的动态库的请进!(100分)

Q

qxwzj

Unregistered / Unconfirmed
GUEST, unregistred user!
请讲讲怎样一步一步地创建或查询各种接口,最终完成rm格式的流媒体文件的播放?
我只会用它的ocx组件,需要许多dll,很不爽。
解决者,分数可以另加,望各位大侠专家赐教,谢谢!
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1858717
C:/WINDOWS/system32/rmoc3260.dll

RealAudioObjects;
// Real Player ActiveX Control Library

Dispatch IRealAudio;
// Real Player ActiveX Control
GUID={CFCDAA01-8BE4-11CF-B84B-0020AFBBCCFA};
function QueryInterface(riid:^GUID;
out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT;
lcid:UI4;
out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID;
rgszNames:^^I1;
cNames:UINT;
lcid:UI4;
out rgdispid:^I4);
function Invoke(dispidMember:I4;
riid:^GUID;
lcid:UI4;
wFlags:UI2;
pdispparams:^DISPPARAMS;
out pvarResult:^variant;
out pexcepinfo:^EXCEPINFO;
out puArgErr:^UINT);
property-get Source: BSTR;
property-put Source(BSTR);
property-get Console: BSTR;
property-put Console(BSTR);
property-get Controls: BSTR;
property-put Controls(BSTR);
property-get NoLabels: bool;
property-put NoLabels(bool);
property-get AutoStart: bool;
property-put AutoStart(bool);
property-get AutoGotoURL: bool;
property-put AutoGotoURL(bool);
property-get WindowName: BSTR;
property-put WindowName(BSTR);
function GetSource: BSTR;
function SetSource(lpszNewValue:BSTR);
function GetConsole: BSTR;
function SetConsole(lpszNewValue:BSTR);
function GetControls: BSTR;
function SetControls(lpszNewValue:BSTR);
function GetNoLabels: bool;
function SetNoLabels(bNewValue:bool);
function GetAutoStart: bool;
function SetAutoStart(bNewValue:bool);
function GetAutoGotoURL: bool;
function SetAutoGotoURL(bNewValue:bool);
function GetVolume: I2;
function SetVolume(nVol:I2);
function GetMute: bool;
function SetMute(bMute:bool);
function GetLoop: bool;
function SetLoop(bVal:bool);
function GetImageStatus: bool;
function SetImageStatus(bEnable:bool);
function GetPacketsTotal: I4;
function GetPacketsReceived: I4;
function GetPacketsOutOfOrder: I4;
function GetPacketsMissing: I4;
function GetPacketsEarly: I4;
function GetPacketsLate: I4;
function GetBandwidthAverage: I4;
function GetBandwidthCurrent: I4;
functiondo
PlayPause;
functiondo
Stop;
functiondo
NextItem;
functiondo
PrevItem;
function CanPlayPause: bool;
function CanStop: bool;
function HasNextItem: bool;
function HasPrevItem: bool;
function HasNextEntry: bool;
function HasPrevEntry: bool;
functiondo
NextEntry;
functiondo
PrevEntry;
function AboutBox;
function EditPreferences;
function HideShowStatistics;
function IsStatisticsVisible: bool;
functiondo
GotoURL(url:BSTR;
target:BSTR);
functiondo
Play;
functiondo
Pause;
function GetPosition: I4;
function GetPlayState: I4;
function GetLength: I4;
function GetTitle: BSTR;
function GetAuthor: BSTR;
function GetCopyright: BSTR;
function GetClipWidth: I4;
function GetClipHeight: I4;
function CanPlay: bool;
function CanPause: bool;
function SetPosition(lPosition:I4);
function GetNumLoop: I4;
function SetNumLoop(lVal:I4);
function GetCenter: bool;
function SetCenter(bVal:bool);
function GetNoLogo: bool;
function SetNoLogo(bVal:bool);
function GetMaintainAspect: bool;
function SetMaintainAspect(bVal:bool);
function GetBackgroundColor: BSTR;
function SetBackgroundColor(pVal:BSTR);
function GetStereoState: bool;
function GetLiveState: bool;
function GetShowStatistics: bool;
function SetShowStatistics(bVal:bool);
function GetShowPreferences: bool;
function SetShowPreferences(bVal:bool);
function GetShowAbout: bool;
function SetShowAbout(bVal:bool);
function GetOriginalSize: bool;
function SetOriginalSize;
function GetDoubleSize: bool;
function SetDoubleSize;
function GetFullScreen: bool;
function SetFullScreen;
function GetEnableContextMenu: bool;
function SetEnableContextMenu(bVal:bool);
function GetEnableOriginalSize: bool;
function SetEnableOriginalSize(bVal:bool);
function GetEnableDoubleSize: bool;
function SetEnableDoubleSize(bVal:bool);
function GetEnableFullScreen: bool;
function SetEnableFullScreen(bVal:bool);
function GetEnableMessageBox: bool;
function SetEnableMessageBox(bVal:bool);
function SetTitle(pVal:BSTR);
function SetAuthor(pVal:BSTR);
function SetCopyright(pVal:BSTR);
function GetWantKeyboardEvents: bool;
function SetWantKeyboardEvents(bWantsEvents:bool);
function GetWantMouseEvents: bool;
function SetWantMouseEvents(bWantsEvents:bool);
function GetNumEntries: I2;
function GetCurrentEntry: I2;
function GetEntryTitle(uEntryIndex:I2): BSTR;
function GetEntryAuthor(uEntryIndex:I2): BSTR;
function GetEntryCopyright(uEntryIndex:I2): BSTR;
function GetEntryAbstract(uEntryIndex:I2): BSTR;
function SetCanSeek(bCanSeek:bool);
function GetCanSeek: bool;
function GetBufferingTimeElapsed: I4;
function GetBufferingTimeRemaining: I4;
function GetConnectionBandwidth: I4;
function GetPreferedLanguageString: BSTR;
function GetPreferedLanguageID: I4;
function GetUserCountryID: I4;
function GetNumSources: I2;
function GetSourceTransport(nSourceNum:I2): BSTR;
function GetWantErrors: bool;
function SetWantErrors(bVal:bool);
function GetShuffle: bool;
function SetShuffle(bVal:bool);
function GetVersionInfo: BSTR;
function GetLastMessage: BSTR;
function GetLastErrorSeverity: I4;
function GetLastErrorRMACode: I4;
function GetLastErrorUserCode: I4;
function GetLastErrorUserString: BSTR;
function GetLastErrorMoreInfoURL: BSTR;
function SetPreFetch(bVal:bool);
function GetPreFetch: bool;
function SetRegion(pVal:BSTR);
function GetRegion: BSTR;
function GetIsPlus: bool;
function GetConsoleEvents: bool;
function SetConsoleEvents(bVal:bool);

Dispatch DRealAudioEvents;
// Event interface for RealAudio control
GUID={CFCDAA02-8BE4-11CF-B84B-0020AFBBCCFA};
function OnGotoURL(url:BSTR;
target:BSTR);
function OnClipOpened(shortClipName:BSTR;
url:BSTR);
function OnClipClosed;
function OnShowStatus(statusText:BSTR);
function OnPositionChange(lPos:I4;
lLen:I4);
function OnVolumeChange(nVol:I2);
function OnMuteChange(bMute:I4);
function OnTitleChange(bstrTitle:BSTR);
function OnAuthorChange(bstrAuthor:BSTR);
function OnCopyrightChange(bstrCopyright:BSTR);
function OnPlayStateChange(lNewState:I4);
function OnErrorMessage(uSeverity:I2;
uRMACode:I4;
uUserCode:I4;
pUserString:BSTR;
pMoreInfoURL:BSTR;
pErrorString:BSTR);
function OnStatsInfoChange(bstrStats:BSTR);
function OnContacting(bstrContacting:BSTR);
function OnPreSeek(lOldTime:I4;
lNewTime:I4);
function OnPostSeek(lOldTime:I4;
lNewTime:I4);
function OnPresentationOpened;
function OnPresentationClosed;
function OnPreFetchComplete;
function OnLButtonDown(nFlags:INT;
nX:INT;
nY:INT);
function OnLButtonUp(nFlags:INT;
nX:INT;
nY:INT);
function OnRButtonDown(nFlags:INT;
nX:INT;
nY:INT);
function OnRButtonUp(nFlags:INT;
nX:INT;
nY:INT);
function OnMouseMove(nFlags:INT;
nX:INT;
nY:INT);
function OnKeyDown(nFlags:INT;
nKey:INT);
function OnKeyUp(nFlags:INT;
nKey:INT);
function OnKeyPress(nFlags:INT;
nKey:INT);
function OnBuffering(lFlags:I4;
lPercentage:I4);
function OnStateChange(lOldState:I4;
lNewState:I4);

Class RealAudio;
// RealAudio control
GUID={CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA};
function QueryInterface(riid:^GUID;
out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT;
lcid:UI4;
out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID;
rgszNames:^^I1;
cNames:UINT;
lcid:UI4;
out rgdispid:^I4);
function Invoke(dispidMember:I4;
riid:^GUID;
lcid:UI4;
wFlags:UI2;
pdispparams:^DISPPARAMS;
out pvarResult:^variant;
out pexcepinfo:^EXCEPINFO;
out puArgErr:^UINT);
property-get Source: BSTR;
property-put Source(BSTR);
property-get Console: BSTR;
property-put Console(BSTR);
property-get Controls: BSTR;
property-put Controls(BSTR);
property-get NoLabels: bool;
property-put NoLabels(bool);
property-get AutoStart: bool;
property-put AutoStart(bool);
property-get AutoGotoURL: bool;
property-put AutoGotoURL(bool);
property-get WindowName: BSTR;
property-put WindowName(BSTR);
function GetSource: BSTR;
function SetSource(lpszNewValue:BSTR);
function GetConsole: BSTR;
function SetConsole(lpszNewValue:BSTR);
function GetControls: BSTR;
function SetControls(lpszNewValue:BSTR);
function GetNoLabels: bool;
function SetNoLabels(bNewValue:bool);
function GetAutoStart: bool;
function SetAutoStart(bNewValue:bool);
function GetAutoGotoURL: bool;
function SetAutoGotoURL(bNewValue:bool);
function GetVolume: I2;
function SetVolume(nVol:I2);
function GetMute: bool;
function SetMute(bMute:bool);
function GetLoop: bool;
function SetLoop(bVal:bool);
function GetImageStatus: bool;
function SetImageStatus(bEnable:bool);
function GetPacketsTotal: I4;
function GetPacketsReceived: I4;
function GetPacketsOutOfOrder: I4;
function GetPacketsMissing: I4;
function GetPacketsEarly: I4;
function GetPacketsLate: I4;
function GetBandwidthAverage: I4;
function GetBandwidthCurrent: I4;
functiondo
PlayPause;
functiondo
Stop;
functiondo
NextItem;
functiondo
PrevItem;
function CanPlayPause: bool;
function CanStop: bool;
function HasNextItem: bool;
function HasPrevItem: bool;
function HasNextEntry: bool;
function HasPrevEntry: bool;
functiondo
NextEntry;
functiondo
PrevEntry;
function AboutBox;
function EditPreferences;
function HideShowStatistics;
function IsStatisticsVisible: bool;
functiondo
GotoURL(url:BSTR;
target:BSTR);
functiondo
Play;
functiondo
Pause;
function GetPosition: I4;
function GetPlayState: I4;
function GetLength: I4;
function GetTitle: BSTR;
function GetAuthor: BSTR;
function GetCopyright: BSTR;
function GetClipWidth: I4;
function GetClipHeight: I4;
function CanPlay: bool;
function CanPause: bool;
function SetPosition(lPosition:I4);
function GetNumLoop: I4;
function SetNumLoop(lVal:I4);
function GetCenter: bool;
function SetCenter(bVal:bool);
function GetNoLogo: bool;
function SetNoLogo(bVal:bool);
function GetMaintainAspect: bool;
function SetMaintainAspect(bVal:bool);
function GetBackgroundColor: BSTR;
function SetBackgroundColor(pVal:BSTR);
function GetStereoState: bool;
function GetLiveState: bool;
function GetShowStatistics: bool;
function SetShowStatistics(bVal:bool);
function GetShowPreferences: bool;
function SetShowPreferences(bVal:bool);
function GetShowAbout: bool;
function SetShowAbout(bVal:bool);
function GetOriginalSize: bool;
function SetOriginalSize;
function GetDoubleSize: bool;
function SetDoubleSize;
function GetFullScreen: bool;
function SetFullScreen;
function GetEnableContextMenu: bool;
function SetEnableContextMenu(bVal:bool);
function GetEnableOriginalSize: bool;
function SetEnableOriginalSize(bVal:bool);
function GetEnableDoubleSize: bool;
function SetEnableDoubleSize(bVal:bool);
function GetEnableFullScreen: bool;
function SetEnableFullScreen(bVal:bool);
function GetEnableMessageBox: bool;
function SetEnableMessageBox(bVal:bool);
function SetTitle(pVal:BSTR);
function SetAuthor(pVal:BSTR);
function SetCopyright(pVal:BSTR);
function GetWantKeyboardEvents: bool;
function SetWantKeyboardEvents(bWantsEvents:bool);
function GetWantMouseEvents: bool;
function SetWantMouseEvents(bWantsEvents:bool);
function GetNumEntries: I2;
function GetCurrentEntry: I2;
function GetEntryTitle(uEntryIndex:I2): BSTR;
function GetEntryAuthor(uEntryIndex:I2): BSTR;
function GetEntryCopyright(uEntryIndex:I2): BSTR;
function GetEntryAbstract(uEntryIndex:I2): BSTR;
function SetCanSeek(bCanSeek:bool);
function GetCanSeek: bool;
function GetBufferingTimeElapsed: I4;
function GetBufferingTimeRemaining: I4;
function GetConnectionBandwidth: I4;
function GetPreferedLanguageString: BSTR;
function GetPreferedLanguageID: I4;
function GetUserCountryID: I4;
function GetNumSources: I2;
function GetSourceTransport(nSourceNum:I2): BSTR;
function GetWantErrors: bool;
function SetWantErrors(bVal:bool);
function GetShuffle: bool;
function SetShuffle(bVal:bool);
function GetVersionInfo: BSTR;
function GetLastMessage: BSTR;
function GetLastErrorSeverity: I4;
function GetLastErrorRMACode: I4;
function GetLastErrorUserCode: I4;
function GetLastErrorUserString: BSTR;
function GetLastErrorMoreInfoURL: BSTR;
function SetPreFetch(bVal:bool);
function GetPreFetch: bool;
function SetRegion(pVal:BSTR);
function GetRegion: BSTR;
function GetIsPlus: bool;
function GetConsoleEvents: bool;
function SetConsoleEvents(bVal:bool);
function OnGotoURL(url:BSTR;
target:BSTR);
function OnClipOpened(shortClipName:BSTR;
url:BSTR);
function OnClipClosed;
function OnShowStatus(statusText:BSTR);
function OnPositionChange(lPos:I4;
lLen:I4);
function OnVolumeChange(nVol:I2);
function OnMuteChange(bMute:I4);
function OnTitleChange(bstrTitle:BSTR);
function OnAuthorChange(bstrAuthor:BSTR);
function OnCopyrightChange(bstrCopyright:BSTR);
function OnPlayStateChange(lNewState:I4);
function OnErrorMessage(uSeverity:I2;
uRMACode:I4;
uUserCode:I4;
pUserString:BSTR;
pMoreInfoURL:BSTR;
pErrorString:BSTR);
function OnStatsInfoChange(bstrStats:BSTR);
function OnContacting(bstrContacting:BSTR);
function OnPreSeek(lOldTime:I4;
lNewTime:I4);
function OnPostSeek(lOldTime:I4;
lNewTime:I4);
function OnPresentationOpened;
function OnPresentationClosed;
function OnPreFetchComplete;
function OnLButtonDown(nFlags:INT;
nX:INT;
nY:INT);
function OnLButtonUp(nFlags:INT;
nX:INT;
nY:INT);
function OnRButtonDown(nFlags:INT;
nX:INT;
nY:INT);
function OnRButtonUp(nFlags:INT;
nX:INT;
nY:INT);
function OnMouseMove(nFlags:INT;
nX:INT;
nY:INT);
function OnKeyDown(nFlags:INT;
nKey:INT);
function OnKeyUp(nFlags:INT;
nKey:INT);
function OnKeyPress(nFlags:INT;
nKey:INT);
function OnBuffering(lFlags:I4;
lPercentage:I4);
function OnStateChange(lOldState:I4;
lNewState:I4);
 
to 楼上:
我的意思是不用rmoc3260,而是象realplay的剪切工具rmediter那样
用pnen3260.dll,没有会的吗?我看了它的sdk,例子是vc++的,由于本人对vc++
不熟,有熟悉的请讲一下过程:如先创建什么,再用什么接口等。。。
 
你能把VC++的实例贴出来看看,再说!
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
顶部