用多媒體庫 Bass.dll 播放 mp3 [1] – 安裝調試

來源:互聯網
上載者:User
最近要寫個小程式, 用到 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;interfaceuses  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 函數 從
BASS_GetVersion 函數的傳回值中提前主要版本號和 BASSVERSION 對比.

先博覽一下 Bass 為我們提供的函數:

BASS_Apply3DBASS_ChannelBytes2SecondsBASS_ChannelFlagsBASS_ChannelGet3DAttributesBASS_ChannelGet3DPositionBASS_ChannelGetAttributeBASS_ChannelGetDataBASS_ChannelGetDeviceBASS_ChannelGetInfoBASS_ChannelGetLengthBASS_ChannelGetLevelBASS_ChannelGetPositionBASS_ChannelGetTagsBASS_ChannelIsActiveBASS_ChannelIsSlidingBASS_ChannelLockBASS_ChannelPauseBASS_ChannelPlayBASS_ChannelRemoveDSPBASS_ChannelRemoveFXBASS_ChannelRemoveLinkBASS_ChannelRemoveSyncBASS_ChannelSeconds2BytesBASS_ChannelSet3DAttributesBASS_ChannelSet3DPositionBASS_ChannelSetAttributeBASS_ChannelSetDeviceBASS_ChannelSetDSPBASS_ChannelSetFXBASS_ChannelSetLinkBASS_ChannelSetPositionBASS_ChannelSetSyncBASS_ChannelSlideAttributeBASS_ChannelStopBASS_ChannelUpdateBASS_ErrorGetCodeBASS_FreeBASS_FXGetParametersBASS_FXResetBASS_FXSetParametersBASS_Get3DFactorsBASS_Get3DPositionBASS_GetConfigBASS_GetConfigPtrBASS_GetCPUBASS_GetDeviceBASS_GetDeviceInfoBASS_GetDSoundObjectBASS_GetEAXParametersBASS_GetInfoBASS_GetVersionBASS_GetVolumeBASS_InitBASS_MusicFreeBASS_MusicLoadBASS_PauseBASS_PluginFreeBASS_PluginGetInfoBASS_PluginLoadBASS_RecordFreeBASS_RecordGetDeviceBASS_RecordGetDeviceInfoBASS_RecordGetInfoBASS_RecordGetInputBASS_RecordGetInputNameBASS_RecordInitBASS_RecordSetDeviceBASS_RecordSetInputBASS_RecordStartBASS_SampleCreateBASS_SampleFreeBASS_SampleGetChannelBASS_SampleGetChannelsBASS_SampleGetDataBASS_SampleGetInfoBASS_SampleLoadBASS_SampleSetDataBASS_SampleSetInfoBASS_SampleStopBASS_Set3DFactorsBASS_Set3DPositionBASS_SetConfigBASS_SetConfigPtrBASS_SetDeviceBASS_SetEAXParametersBASS_SetVolumeBASS_StartBASS_StopBASS_StreamCreateBASS_StreamCreateFileBASS_StreamCreateFileUserBASS_StreamCreateURLBASS_StreamFreeBASS_StreamGetFilePositionBASS_StreamPutDataBASS_StreamPutFileDataBASS_Update
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.