本例效果图:



代码文件:


unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ComCtrls;typeTForm1 = class(TForm)OpenDialog1: TOpenDialog;Button1: TButton;Button2: TButton;Button3: TButton;TrackBar1: TTrackBar;Label1: TLabel;Button4: TButton;procedure FormCreate(Sender: TObject);procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure Button3Click(Sender: TObject);procedure TrackBar1Change(Sender: TObject);procedure FormDestroy(Sender: TObject);procedure Button4Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}uses Bass;varhs: HSTREAM;  {流句柄}procedure TForm1.FormCreate(Sender: TObject);
beginTrackBar1.ShowSelRange := False;TrackBar1.Height := 23;TrackBar1.Max := 100000;TrackBar1.Min := 100;TrackBar1.Position := 44100;if HiWord(BASS_GetVersion) <> BASSVERSION thenMessageBox(0, '"Bass.dll" 文件版本不合适! ', nil, MB_ICONERROR);if not BASS_Init(-1, 44100, 0, 0, nil) thenShowMessage('初始化错误');
end;{打开}
procedure TForm1.Button1Click(Sender: TObject);
varMp3Path: AnsiString;
beginBASS_StreamFree(hs);OpenDialog1.Filter := 'Mp3 文件(*.mp3)|*.mp3|Wav 文件(*.wav)|*wav';if OpenDialog1.Execute thenMp3Path := AnsiString(OpenDialog1.FileName);hs := BASS_StreamCreateFile(False, PAnsiChar(Mp3Path), 0, 0, 0);if hs < BASS_ERROR_ENDED thenText := '打开失败'else beginText := string(Mp3Path);Button4.Click;end;
end;{播放}
procedure TForm1.Button2Click(Sender: TObject);
beginBASS_ChannelPlay(hs, False);
end;{暂停}
procedure TForm1.Button3Click(Sender: TObject);
beginBASS_ChannelPause(hs);
end;{原速}
procedure TForm1.Button4Click(Sender: TObject);
beginTrackBar1.Position := 44100;
end;{设置和获取播放速度}
procedure TForm1.TrackBar1Change(Sender: TObject);
varfreq: Single;
beginfreq := 44100;BASS_ChannelSlideAttribute(hs, BASS_ATTRIB_FREQ, TrackBar1.Position, 0);BASS_ChannelGetAttribute(hs, BASS_ATTRIB_FREQ, freq);Label1.Caption := Format('当前速度比例: %f%%', [freq/44100]);
end;procedure TForm1.FormDestroy(Sender: TObject);
beginBASS_Free;
end;end.

窗体文件:


object Form1: TForm1Left = 205Top = 107Caption = 'Form1'ClientHeight = 119ClientWidth = 286Color = clBtnFaceFont.Charset = DEFAULT_CHARSETFont.Color = clWindowTextFont.Height = -11Font.Name = 'Tahoma'Font.Style = []OldCreateOrder = FalsePosition = poDesignedOnCreate = FormCreateOnDestroy = FormDestroyPixelsPerInch = 96TextHeight = 13object Label1: TLabelLeft = 32Top = 59Width = 31Height = 13Caption = 'Label1'endobject Button1: TButtonLeft = 24Top = 17Width = 75Height = 25Caption = #25171#24320TabOrder = 0OnClick = Button1Clickendobject Button2: TButtonLeft = 105Top = 17Width = 75Height = 25Caption = #25773#25918TabOrder = 1OnClick = Button2Clickendobject Button3: TButtonLeft = 186Top = 17Width = 75Height = 25Caption = #26242#20572TabOrder = 2OnClick = Button3Clickendobject TrackBar1: TTrackBarLeft = 24Top = 78Width = 237Height = 32TabOrder = 3OnChange = TrackBar1Changeendobject Button4: TButtonLeft = 186Top = 48Width = 75Height = 25Caption = #21407#36895TabOrder = 4OnClick = Button4Clickendobject OpenDialog1: TOpenDialogLeft = 256end
end

转载于:https://www.cnblogs.com/del/archive/2008/08/22/1274435.html

用多媒体库 Bass.dll 播放 mp3 [15] - 设置与获取播放速度相关推荐

  1. 用多媒体库 Bass.dll 播放 mp3 [8] - 实时显示左右声道的峰值

    为什么80%的码农都做不了架构师?>>>    本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, V ...

  2. 用多媒体库 Bass.dll 播放 mp3 [9] - 绘制波形图

    本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...

  3. android播放mp3功能,Android编程实现播放MP3功能示例

    本文实例讲述了android编程实现播放mp3功能.分享给大家供大家参考,具体如下: 在android中播放mp3非常简单,也是项目中经常使用的,比如说要做项目的背景音乐,应用中某些功能的提示音等的. ...

  4. html5 audio 获取播放时间,html5 audio 延时获取播放路径播放失败

    为什么audio对象在延时1000毫秒之后就不能执行播放呢? 歌曲的路径需要从数据库中获取,所以需要用ajax来交互,但是发现假如时间过长即使获取到路径也不能执行播放. 为方便测试使用setTimeo ...

  5. android播放mp3方法,Android之MediaPlayer播放音频与视频

    本节带来的是Android多媒体中的--MediaPlayer,我们可以通过这个API来播放音频和视频 该类是Androd多媒体框架中的一个重要组件,通过该类,我们可以以最小的步骤来获取,解码 和播放 ...

  6. linux下如何播放mp3文件,【linux下播放mp3】

    CentOS听mp3-- 我使用的平台是CentOS4.2,工作的时候也想听听mp3 先安装xmms播放器,虽然老了点 #yum install xmms 再装个皮肤包 #yum install xm ...

  7. 【多媒体课件制作软件】Focusky教程 | 设置隐藏底部播放进度条

    在播放演示文稿时,有些用户不大喜欢进度条显示在屏幕上,那么这里我们教大家如何在Focusky(也称为"FS软件")放映时显示或隐藏进度条. 新建工程,编辑演示文稿,在菜单栏中找到& ...

  8. html在线播放mp3代码实现,实现音乐播放器的代码(html5+css3+jquery)

    看下面的效果图很不错吧,是怎么实现的呢?下面小编给大家分享下我的一番宝物,Lisa唱的 在angel beats的插曲.用到html5.css.jquery实现此音乐播放器. 一番宝物,Lisa唱的  ...

  9. android播放mp3方法,Android MediaPlayer 播放音频的方式

    主要介绍使用MediaPlayer播放音频的方式.关于MediaPlayer的基础知识,比如状态,可以参考Android MediaPlayer基础简介. 为了方便表达,定义变量名为mediaPlay ...

最新文章

  1. javascript之变量,作用域和内存问题
  2. mysql 物理备份工具_mysql物理备份工具Xtrabackup安装配置
  3. 背景减除(Background Segment)
  4. python生成折线图-Python数据可视化 -生成数据之绘制折线图和散点图
  5. 火灾自动报警系统及消防设施联动控制
  6. CHANGE MASTER TO语法--MySql数据库
  7. 你觉得外观模式和代理模式的联系和区别是什么?_GoF23种设计模式
  8. 刷抖音看到 Python 工程师的工资条后,我沉默了...
  9. 专有网络 VPC > VPC与外部网络连接 > 连接VPC
  10. Activiti的ProcessEngine的基本配置
  11. android线程改变布局,Android线程中设置控件的值提示报错的解决方法
  12. python使用-python使用
  13. 小白学vb还是python_小白学 Python 爬虫(30):代理基础
  14. CTF加密题型解析:RSA算法的CTF解法之一
  15. spfa slf优化
  16. Ajax : load()
  17. tf.image.resize_images
  18. FusionGAN图像融合代码学习
  19. winform实现任务栏隐藏、通知栏图标及右键、类似QQ隐藏窗体等功能
  20. 如何降低疾病监测的漏诊比率?一种新的分类学习算法...

热门文章

  1. sql 查询优化小计
  2. PHP3.2.3 where or,WHERE · ThinkPHP3.2.3完全开发手册 · 看云
  3. Javascript报错Failed to execute ‘querySelectorAll‘ on ‘Document‘: ‘#123456‘ is not a valid sele
  4. 自定义EditText输入框
  5. 重新记录一下微信后台的配置
  6. mpvue 中使用 wx-f2 tooltip 失效解决
  7. 西电继续教育计算机试题答案,西安电子科技大学网络与继续教育学院微机原理试题...
  8. centos7 kafka2.3.1单机伪集群部署
  9. Ant Design Pro 修改title
  10. clion 查看内容窗口_苹果电脑(macOS)查看 WiFi 密码的两种方法