简单播放 mp3 - 回复 "heyongan" 的问题

问题来源: http://www.cnblogs.com/del/archive/2008/09/17/1288772.html#1319271



代码文件:


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, MPlayer;

type
  TForm1 = class(TForm)
    Button1: TButton;
    MediaPlayer1: TMediaPlayer;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  MediaPlayer1.Visible := False;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  MediaPlayer1.FileName := 'c:\temp\Test.mp3';
  MediaPlayer1.Open;
  MediaPlayer1.Play;
end;

end.

窗体文件:


object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 149
  ClientWidth = 270
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 13
  object Button1: TButton
    Left = 96
    Top = 72
    Width = 75
    Height = 25
    Caption = 'Button1'
    TabOrder = 0
    OnClick = Button1Click
  end
  object MediaPlayer1: TMediaPlayer
    Left = 8
    Top = 24
    Width = 253
    Height = 30
    TabOrder = 1
  end
end
#6楼  2008-09-17 15:17 faceker [未注册用户]
直接用 API 也很简单:
如果是 WAV: 
PlaySound('C:\snd.wav', 0, snd_FILENAME and snd_ASYNC);

如果是 MP3(也可以播放 WAV,包括视频也可以):

mciSendString('Open "G:\mp3\snd.mp3" alias MyMp3', nil, 0, 0);
mciSendString('Play MyMp3', nil, 0, 0);
  回复  引用    

 uses mmsystem;//引用这个单元或如下直接声明

//function mciSendString(lpstrCommand, lpstrReturnString: PChar;
uReturnLength: UINT; hWndCallback: HWND): MCIERROR; stdcall;

//function mciSendString; external 'winmm.dll' name 'mciSendStringA';
procedure TForm1.Button1Click(Sender: TObject);

//开始播放
begin
MCISendString('OPEN "D:\ooo\奇奇颗颗历险记.mp3" ALIAS NN', nil, 0, 0);

MCISendString('PLAY NN ', nil, 0, 0);

MCISendString('CLOSE ANIMATION', '', 0, 0);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
//停止播放

MCISendString('OPEN D:\ooo\奇奇颗颗历险记.mp3 ALIAS NN', '', 0, 0);

MCISendString('STOP NN', '', 0, 0);

MCISendString('CLOSE ANIMATION', '', 0, 0);
end;
//谁要这个函数的全部参数介绍?有几十K,要的在我博客留言