Bass.dll 是知名第三方音頻庫(官網 un4seen.com),非 Windows 系統內建。本文詳細記錄從下載、部署 DLL、配置 Delphi Library Path、編寫版本驗證測試代碼的全過程,助你零障礙上手。
bass.dll、bass.pas、文檔、範例)。$2040101)。Windows\System32、Windows\SysWOW64(64位系統)、程式目錄或任意 PATH 目錄。C:\Imports\Bass24,將解壓出的 bass.pas 放入。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
{顯示 bass.pas 編譯時常量 BASSVERSION (主版本號)}
ShowMessageFmt('%x', [BASSVERSION]); {輸出: 204}
{顯示運行時 bass.dll 完整版本號}
ShowMessageFmt('%x', [BASS_GetVersion]); {輸出: 2040101}
{驗證主版本號一致性}
if HiWord(BASS_GetVersion) <> BASSVERSION then
ShowMessage('當前 Bass.dll 版本不可用')
else
ShowMessage('OK! 版本匹配,可以開始開發。');
end;
end.
BASSVERSION:bass.pas 中定義的常量,僅含主版本號(如 $204 代表 2.4)。BASS_GetVersion:運行時從 bass.dll 獲取的完整版本(如 $2040101 代表 2.4.1.1)。HiWord(BASS_GetVersion) 提取高 16 位(主版本號),與 BASSVERSION 比較。僅主版本號一致即可保證 API 相容。BASS_Init, BASS_Free, BASS_StreamCreateFile, BASS_StreamCreateURL,
BASS_ChannelPlay, BASS_ChannelPause, BASS_ChannelStop,
BASS_ChannelSetAttribute, BASS_ChannelGetAttribute,
BASS_ChannelSetPosition, BASS_ChannelGetPosition,
BASS_ChannelGetLevel, BASS_ChannelGetLength,
BASS_ChannelSetSync, BASS_ChannelRemoveSync,
BASS_SetConfig, BASS_GetConfig,
BASS_RecordStart, BASS_RecordGetInputName,
... 共 100+ 函數
bass.dll 隨程式同目錄部署,或寫入安裝腳本複製至 System32/SysWOW64。bass.dll(官網提供 bass64.dll),並確保 bass.pas 支援 64 位(新版已支援)。bass.pas 是否為最新版,或 bass.dll 是否被舊版覆蓋。完成「DLL 部署 → 路徑配置 → 版本驗證」三步,即可在 Delphi 中安穩使用 Bass.dll 開發專業音頻應用。