最近要写个小程序, 用到 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 这个目录 (例子).
好了, 写几句测试一下:
在使用 Bass 前, 一般要先验证版本(因为不同版本功能有区别);
BASS_GetVersion 函数可以获取系统中 Bass.dll 的版本号, 这里是: $2040101(十六进制数);
BASSVERSION 是 Bass.pas 中的常量, 表示 Bass.pas 文件的版本, 这里是 $204;
只要主版本号(譬如2.4)统一即可, 我们可以用 HiWord 函数 从
BASS_GetVersion 函数的返回值中提前主版本号和 BASSVERSION 对比.
先博览一下 Bass 为我们提供的函数:
以前我曾以为 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 函数 从
BASS_GetVersion 函数的返回值中提前主版本号和 BASSVERSION 对比.
先博览一下 Bass 为我们提供的函数:
BASS_Apply3D BASS_ChannelBytes2Seconds BASS_ChannelFlags BASS_ChannelGet3DAttributes BASS_ChannelGet3DPosition BASS_ChannelGetAttribute BASS_ChannelGetData BASS_ChannelGetDevice BASS_ChannelGetInfo BASS_ChannelGetLength BASS_ChannelGetLevel BASS_ChannelGetPosition BASS_ChannelGetTags BASS_ChannelIsActive BASS_ChannelIsSliding BASS_ChannelLock BASS_ChannelPause BASS_ChannelPlay BASS_ChannelRemoveDSP BASS_ChannelRemoveFX BASS_ChannelRemoveLink BASS_ChannelRemoveSync BASS_ChannelSeconds2Bytes BASS_ChannelSet3DAttributes BASS_ChannelSet3DPosition BASS_ChannelSetAttribute BASS_ChannelSetDevice BASS_ChannelSetDSP BASS_ChannelSetFX BASS_ChannelSetLink BASS_ChannelSetPosition BASS_ChannelSetSync BASS_ChannelSlideAttribute BASS_ChannelStop BASS_ChannelUpdate BASS_ErrorGetCode BASS_Free BASS_FXGetParameters BASS_FXReset BASS_FXSetParameters BASS_Get3DFactors BASS_Get3DPosition BASS_GetConfig BASS_GetConfigPtr BASS_GetCPU BASS_GetDevice BASS_GetDeviceInfo BASS_GetDSoundObject BASS_GetEAXParameters BASS_GetInfo BASS_GetVersion BASS_GetVolume BASS_Init BASS_MusicFree BASS_MusicLoad BASS_Pause BASS_PluginFree BASS_PluginGetInfo BASS_PluginLoad BASS_RecordFree BASS_RecordGetDevice BASS_RecordGetDeviceInfo BASS_RecordGetInfo BASS_RecordGetInput BASS_RecordGetInputName BASS_RecordInit BASS_RecordSetDevice BASS_RecordSetInput BASS_RecordStart BASS_SampleCreate BASS_SampleFree BASS_SampleGetChannel BASS_SampleGetChannels BASS_SampleGetData BASS_SampleGetInfo BASS_SampleLoad BASS_SampleSetData BASS_SampleSetInfo BASS_SampleStop BASS_Set3DFactors BASS_Set3DPosition BASS_SetConfig BASS_SetConfigPtr BASS_SetDevice BASS_SetEAXParameters BASS_SetVolume BASS_Start BASS_Stop BASS_StreamCreate BASS_StreamCreateFile BASS_StreamCreateFileUser BASS_StreamCreateURL BASS_StreamFree BASS_StreamGetFilePosition BASS_StreamPutData BASS_StreamPutFileData BASS_Update
分类:
多媒体函数库Bass.dll
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧