Delphi自带的TMediaPlay控件不能播放网络路径的音频文件,上网查了一下,比较简单的就是使用windows系统自带的WindowsMediaPlay控件。
1. 导入WindowsMediaPlay控件
我用的Delphi XE8,其他的也大同小异。
Component -> Import Component -> Import ActiveX Control -> 找到Windows Media Play ->
默认选择就可以 ->
四个选项
1 创建一个Unit
2 安装一个存在的包中
3 安装到一个新包中
4 直接将Unit添加到程序中
这个的选择,主要是看你自己的需求,需要看到控件,就选择2,3。直接需要Unit,就选择1,4。
2. WindowMediaPlay的基本使用
URL:string 可以指定媒体位置
enableContextMenu:Boolean 显示/不显示播放位置的右键菜单
fullScreen:boolean 全屏显示
stretchToFit:boolean 非全屏状态时是否伸展到最佳大小
uMode:string 播放器的模式,full:有下面的控制条; none:只有播放部份没有控制条
playState:integer 当前控件状态 3:正在播放 2:暂停 1:已停止
状态变化时会触发OnStatusChange事件
WindowsMediaPlayer.controls.play; 播放
WindowsMediaPlayer.controls.stop; 停止
WindowsMediaPlayer.controls.pause; 暂停
WindowsMediaPlayer.controls.currentPosition:Double 当前播放进度
WindowsMediaPlayer.controls.currentPositionString:String 时间格式的字符串 "0:32 "
WindowsMediaPlayer.currentMedia.duration Double 总长度
WindowsMediaPlayer.currentMedia.durationString:string 时间格式的字符串 "4:34 "
WindowsMediaPlayer.settings.volume:Integer 音量 (0-100)
WindowsMediaPlayer.settings.balance:Integer 声道,通过它应该可以进行立体声、 左声道、右声道的控制。