用多媒体库 Bass.dll 播放 mp3 [15] - 设置与获取播放速度
代码文件:
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] - 设置与获取播放速度相关推荐
- 用多媒体库 Bass.dll 播放 mp3 [8] - 实时显示左右声道的峰值
为什么80%的码农都做不了架构师?>>> 本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, V ...
- 用多媒体库 Bass.dll 播放 mp3 [9] - 绘制波形图
本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...
- android播放mp3功能,Android编程实现播放MP3功能示例
本文实例讲述了android编程实现播放mp3功能.分享给大家供大家参考,具体如下: 在android中播放mp3非常简单,也是项目中经常使用的,比如说要做项目的背景音乐,应用中某些功能的提示音等的. ...
- html5 audio 获取播放时间,html5 audio 延时获取播放路径播放失败
为什么audio对象在延时1000毫秒之后就不能执行播放呢? 歌曲的路径需要从数据库中获取,所以需要用ajax来交互,但是发现假如时间过长即使获取到路径也不能执行播放. 为方便测试使用setTimeo ...
- android播放mp3方法,Android之MediaPlayer播放音频与视频
本节带来的是Android多媒体中的--MediaPlayer,我们可以通过这个API来播放音频和视频 该类是Androd多媒体框架中的一个重要组件,通过该类,我们可以以最小的步骤来获取,解码 和播放 ...
- linux下如何播放mp3文件,【linux下播放mp3】
CentOS听mp3-- 我使用的平台是CentOS4.2,工作的时候也想听听mp3 先安装xmms播放器,虽然老了点 #yum install xmms 再装个皮肤包 #yum install xm ...
- 【多媒体课件制作软件】Focusky教程 | 设置隐藏底部播放进度条
在播放演示文稿时,有些用户不大喜欢进度条显示在屏幕上,那么这里我们教大家如何在Focusky(也称为"FS软件")放映时显示或隐藏进度条. 新建工程,编辑演示文稿,在菜单栏中找到& ...
- html在线播放mp3代码实现,实现音乐播放器的代码(html5+css3+jquery)
看下面的效果图很不错吧,是怎么实现的呢?下面小编给大家分享下我的一番宝物,Lisa唱的 在angel beats的插曲.用到html5.css.jquery实现此音乐播放器. 一番宝物,Lisa唱的 ...
- android播放mp3方法,Android MediaPlayer 播放音频的方式
主要介绍使用MediaPlayer播放音频的方式.关于MediaPlayer的基础知识,比如状态,可以参考Android MediaPlayer基础简介. 为了方便表达,定义变量名为mediaPlay ...
最新文章
- javascript之变量,作用域和内存问题
- mysql 物理备份工具_mysql物理备份工具Xtrabackup安装配置
- 背景减除(Background Segment)
- python生成折线图-Python数据可视化 -生成数据之绘制折线图和散点图
- 火灾自动报警系统及消防设施联动控制
- CHANGE MASTER TO语法--MySql数据库
- 你觉得外观模式和代理模式的联系和区别是什么?_GoF23种设计模式
- 刷抖音看到 Python 工程师的工资条后,我沉默了...
- 专有网络 VPC > VPC与外部网络连接 > 连接VPC
- Activiti的ProcessEngine的基本配置
- android线程改变布局,Android线程中设置控件的值提示报错的解决方法
- python使用-python使用
- 小白学vb还是python_小白学 Python 爬虫(30):代理基础
- CTF加密题型解析:RSA算法的CTF解法之一
- spfa slf优化
- Ajax : load()
- tf.image.resize_images
- FusionGAN图像融合代码学习
- winform实现任务栏隐藏、通知栏图标及右键、类似QQ隐藏窗体等功能
- 如何降低疾病监测的漏诊比率?一种新的分类学习算法...
热门文章
- sql 查询优化小计
- PHP3.2.3 where or,WHERE · ThinkPHP3.2.3完全开发手册 · 看云
- Javascript报错Failed to execute ‘querySelectorAll‘ on ‘Document‘: ‘#123456‘ is not a valid sele
- 自定义EditText输入框
- 重新记录一下微信后台的配置
- mpvue 中使用 wx-f2 tooltip 失效解决
- 西电继续教育计算机试题答案,西安电子科技大学网络与继续教育学院微机原理试题...
- centos7 kafka2.3.1单机伪集群部署
- Ant Design Pro 修改title
- clion 查看内容窗口_苹果电脑(macOS)查看 WiFi 密码的两种方法