紧急求助!DirectShow的流媒体播放问题!(100分)

  • 主题发起人 主题发起人 siyan
  • 开始时间 开始时间
S

siyan

Unregistered / Unconfirmed
GUEST, unregistred user!
程序代码如下
var
Graph: IGraphBuilder;
evCode: Integer;
MediaControl: IMediaControl;
MediaEvent: IMediaEventEx;
pivw : IVideoWindow


procedure TForm_Main.MenuItem_PlayClick(Sender: TObject);
begin

if Graph.RenderFile('mms://10.45.0.75:1234', nil)<> S_OK then

begin

Application.MessageBox('所选服务器没有进行广播!','提示',MB_OK+MB_IconInformation);
Exit;
end;

pivw.put_WindowStyle(WS_CHILD + WS_CLIPCHILDREN + WS_CLIPSIBLINGS);
pivw.put_Owner(Panel_Show.handle)
pivw.SetWindowPosition(1, 1, Panel_Show.Width-2,Panel_SHow.Height-2);
MediaEvent.SetNotifyWindow(Self.Handle,WM_GRAPHNOTIFY,0);
MediaControl.Run
MediaEvent.WaitForCompletion(0, evCode);
end;


procedure TForm_Main.MenuItem_StopClick(Sender: TObject);
begin

MediaControl.Stop;
end;


我点击播放、然后关闭,然后再播放就会死机,不知道是什么原因!
如果是播放文件则没有这个问题,请诸位高手指教,感激涕零!
 
不会呀,你把全部程序。。。
MyEmail: zlhyh@hotmail.com
 
已经发给你了,请多多帮忙!
 
你的directdraw.pas 的版本是6.0的吧?
 
我不知道,有关系吗?
 
你可以用 Tmediaplay
 
TMediaPlayer能播放流吗?
设备类型是什么?
 
to siyan
1、TMediaPlayer不能播放流;
2、用DSPack控件包
FilterGraph.ClearGraph;
FilterGraph.FilterGraph2.RenderFile(StringToOleStr(FileName),nil);
FilterGraph.QueryInterfaces;
FilterGraph.MediaControl.Run;
 
接受答案了.
 
后退
顶部