比如正在用MediaPlayer播放一首音乐,
请教如何MediaPlayer的哪个属性能判断是否正在播放音乐?MediaPlayer怎么能播放WMA格式的音乐?

解决方案 »

  1.   

    if mediaplayer.Mode = mpplaying then
    播放中.....
      

  2.   

    ...
    你播放的时候测试...当然弹出
    你不播放的时候也弹出procedure TForm1.Button1Click(Sender: TObject);
    begin
      mediaplayer1.close;
      mediaplayer1.FileName:='c:\1010.mp3';
      mediaplayer1.Open;
      mediaplayer1.Play;
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      if mediaplayer1.Mode = mpplaying then
      showmessage('正在播放');
    end;
    播放不播放都弹出"正在播放"
      

  3.   

    完全测试通过。
    你不打开文件的时候测试返回结果都是true,打开文件以后播放返回true,停止返回false.if MediaPlayer1.Mode = mpOpen then
    begin
      if MediaPlayer1.Mode = mpplaying then
       ok else false;
    end else false;请教问题要虚心,要不没人回答
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      mediaplayer1.close;
      mediaplayer1.FileName:='c:\1010.mp3';
      mediaplayer1.Open;
      mediaplayer1.Play;
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      if MediaPlayer1.Mode = mpOpen then
      begin
        if MediaPlayer1.Mode = mpplaying then
          showmessage('ok')
        else
          showmessage('NO');
      end
      else
      showmessage('没打开');end;
    不管音乐有没有播放都弹出 "没打开", 也不知道你是怎么测试的
      

  5.   

    再看,没有open以前取不到mode的值或者=mpplaying
    先用一个变量取一下以后,如果没有初始化值,将变为mpstopped
    procedure TForm1.Button2Click(Sender: TObject);
    var
    s:string;
    begin
    s := inttostr(ord(MediaPlayer1.Mode));
    if MediaPlayer1.Mode = mpplaying then
    showmessage('true') else showmessage('false');
    end;
      

  6.   


    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      case WindowsMediaPlayer1.playState of
        0: Form1.Caption:= '未打开';
        1: Form1.Caption:= '停止';
        2: Form1.Caption:= '暂停';
        3: Form1.Caption:= '正在播放';
      end;
    end;
      

  7.   

      WindowsMediaPlayer1.URL:= 'D:\SoftWare\SmartPhone\Rings\Ring - irish whistle.wma';