在Delphi 中不能使用两个TMediaPlayer打开同种类型的媒体文件,请问如何解决?比如在窗体上放置两个 MediaPlayer,再放一个按钮,在按钮中写入:procedure TForm1.Button1Click(Sender: TObject);
begin
  mediaplayer1.FileName:='e:\a.avi';
  mediaplayer2.FileName:='e:\b.avi';
  mediaplayer1.Open;
  mediaplayer2.Open;
end;会报告设备已被占用,请教如何才能同时播放两个同种类型的媒体文件?

解决方案 »

  1.   

    好像主要是别名被占用了,如何控制MediaPlayer的别名?
      

  2.   

    to  ghyghost(著名关心CSDN结贴率爱国主义人士代表):不是这么回事。我在窗体上放置一个TMediaPlayer,然后同时运行该程序的两个实例,两个程序都可以运行,正常播放,这怎么解释? 我的声卡很高级,sound blaster的。
      

  3.   

    to jenemery(小熊):同理,也不是显示器的问题。
      

  4.   

    你是放置了两个MediaPlayer(从控件面板上拖放了两个),还是把一个MediaPlayer复制又粘贴了一次?我的印象中后一种方法会有问题的。
      

  5.   

    呵呵
    声卡支持多流也没有用
    因为mediaplayer在注册表中已经注册
    只有一个相同句柄,不可能分配两个句柄
    你用两个mediaplayer,可定会出错
    同样的,也不能同时打开两个realplay
    但是你能够同时打开一个mediaplayer和一个realplay
    因为他们的句柄并不相同
      

  6.   

    我试过了,把shareable:=true也不行。
      

  7.   

    我用directshow做过可以同时播放,但MediaPlay没有试过