Delphi中用多媒体库Bass.dll播放mp3 [1]

最近要写个小程序, 用到 mp3 播放; 因为需要非常复杂的控制与功能, 想到了 Bass.dll.

以前我曾以为 Bass.dll 是 Windows 系统自带的库, 后来才知道原来是第三方的: http://www.un4seen.com/.

Bass.dll 一直在更新, 现在最新版本是 2.411, 下载地址: http://us2.un4seen.com/files/bass24.zip

在 Delphi 中使用前, 有三步工作要做:

1、复制 Bass.dll 到系统可以识别的文件夹, 譬如: Windows\System32、Windows、Windows\System, 也可以是系统或用户的环境变量 Path 指定的任何目录, 还可以在做程序时 放在当前目录, 随便放一个文件夹然后在程序中指定路径也可以.

2、把专为 Delphi 写的头文件 bass.pas 放在某个目录(譬如: C:\Program Files\CodeGear\RAD Studio\6.0\Imports\Bass24).

3、然后从 Delphi 菜单 -> Tools -> Options -> Library-Win32 -> Library path -> 然后 Add 这个目录 (例子).

好了, 写几句测试一下:unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;
type
  TForm1 = class(TForm)
   procedure FormCreate(Sender: TObject);
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
uses Bass;
procedure TForm1.FormCreate(Sender: TObject);
begin
  ShowMessageFmt('%x', [BASSVERSION]);   {204}
  ShowMessageFmt('%x', [BASS_GetVersion]); {2040101}
  if HiWord(BASS_GetVersion) <> BASSVERSION then
   ShowMessage('当前 Bass.dll 版本不可用')
  else
   ShowMessage('OK!');
end;
end.
程序说明:

在使用 Bass 前, 一般要先验证版本(因为不同版本功能有区别);

BASS_GetVersion 函数可以获取系统中 Bass.dll 的版本号, 这里是: $2040101(十六进 制数);

BASSVERSION 是 Bass.pas 中的常量, 表示 Bass.pas 文件的版本, 这里是 $204;

只要主版本号(譬如2.4)统一即可, 我们可以用 HiWord 函数 从

时间: 2024-12-06 00:03:59

Delphi中用多媒体库Bass.dll播放mp3 [1]的相关文章

Delphi中用多媒体库Bass.dll播放 mp3 [2]

Delphi中用多媒体库Bass.dll播放mp3 [2] - BASS_GetDeviceInfo: 获取当前音频输出设备列表 Delphi 2009 中使用需要修改一下 Bass.pas 中 BASS_DEVICEINFO 结构的定义, 不然会 乱码: //把 BASS_DEVICEINFO = record name: PChar; // description driver: PChar; // driver flags: DWORD; end; //改为 BASS_DEVICEINFO

Delphi中用多媒体库Bass.dll播放mp3 [15]

本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls; type TForm1 = class(TForm) OpenDialog1: TOpenDialog; Button1: TButton; Button2: TButton; Button3: TButton;

Delphi中用多媒体库Bass.dll播放mp3 [14]

本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, ExtCtrls; type TForm1 = class(TForm) OpenDialog1: TOpenDialog; Button1: TButton; Button2: TButton; Button3

Delphi中用多媒体库Bass.dll播放mp3 [13]

本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls; type TForm1 = class(TForm) OpenDialog1: TOpenDialog; Button1: TButton; Button2: TButton; Button3: TButton;

Delphi中用多媒体库Bass.dll播放mp3 [12]

本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls; type TForm1 = class(TForm) OpenDialog1: TOpenDialog; Timer1: TTimer; PaintBox1: TPaintBox; Butto

Delphi中用多媒体库Bass.dll播放mp3 [11]

本例效果图: 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, Bass; type TForm1 = class(TForm) OpenDialog1: TOpenDialog; Timer1: TTimer; PaintBox1: TPaintBox;

Delphi中用多媒体库Bass.dll播放mp3 [10]

本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls; type TForm1 = class(TForm) OpenDialog1: TOpenDialog; TrackBar1: TTrackBar; Timer1: TTimer; Butto

Delphi中用多媒体库Bass.dll播放mp3 [9]

本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls; type TForm1 = class(TForm) OpenDialog1: TOpenDialog; PaintBox1: TPaintBox; Button1: TButton; But

Delphi中用多媒体库Bass.dll播放mp3 [8]

本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls; type TForm1 = class(TForm) OpenDialog1: TOpenDialog; Timer1: TTimer; Button1: TButton; Button2: