优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

视频音频播放器

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:

4.3 代码实现过程
4.3.1 播放控件的接口属性
为了能够播放各种音频视频格式的文件,选用了两种播放控件,一个是Windows自带的 Windows Media Player播放控件,另一个是PPstream的PowerPlayer.dll播放控件。(2.4.2的设计思路中已经解释了原因)。Windows Media Player播放控件主要用于播放常见格式的视频音频文件,如AVI,MPEG,WMV等,而后者则播放RM,RMVB格式的视频文件。
Windows Media Player控件接口属性:
URL:String; 指定媒体位置,本机或网络地址
uiMode:String; 播放器界面模式,可为Full, Mini, None, Invisible
playState:integer; 播放状态,1=停止,2=暂停,3=播放,6=正在缓冲,9=正在连接,10=准备就绪
enableContextMenu:Boolean; 启用/禁用右键菜单
fullScreen:boolean; 是否全屏显示
[controls] wmp.controls //播放器基本控制
controls.play; 播放
controls.pause; 暂停
controls.stop; 停止
controls.currentPosition:double; 当前进度
controls.currentPositionString:string; 当前进度,字符串格式。如“00:23”
controls.fastForward; 快进

【www.think58.com计算机毕业论文网】 本文来自think58 [资料来源:THINK58.com]


controls.fastReverse; 快退
controls.next; 下一曲
controls.previous; 上一曲
[settings] wmp.settings //播放器基本设置
settings.volume:integer; 音量,0-100
settings.autoStart:Boolean; 是否自动播放
settings.mute:Boolean; 是否静音
settings.playCount:integer; 播放次数
[currentMedia] wmp.currentMedia //当前媒体属性
currentMedia.duration:double; 媒体总长度
currentMedia.durationString:string; 媒体总长度,字符串格式。如“03:24”
currentMedia.getItemInfo(const string); 获取当前媒体信息"Title"=媒体标题,"Author"=艺术家,"Copyright"=版权信息,"Description"=媒体内容描述,"Duration"=持续时间(秒),"FileSize"=文件大小,"FileType"=文件类型,"sourceURL"=原始地址
currentMedia.setItemInfo(const string); 通过属性名设置媒体信息
currentMedia.name:string; 同 currentMedia.getItemInfo("Title")
[currentPlaylist] wmp.currentPlaylist //当前播放列表属性 think58好,好think58 [资料来源:http://www.THINK58.com]
currentPlaylist.count:integer; 当前播放列表所包含媒体数
currentPlaylist.Item[integer]; 获取或设置指定项目媒体信息,其子属性同wmp.currentMedia
PPstream的PowerPlayer.dll控件接口属性:
void AboutBox():显示关于PPStream对话框.
void GetAuthorString(BSTR* pbstr):获取当前播放的视频或音频的作者名。
void GetTitleString(BSTR* pbstr):获得当前播放的视频或者音频的名称。
long GetControlPanelHeight():获得播放器控制面板的高度。
boolean GetFullScreen():获知当前是否正在全屏幕播放.
void SetFullScreen(BOOL bFullScreen):设置是否全屏幕播放。
long GetHWND():获得播放控件的窗口句柄。
long GetPlayDuration():获得播放时长。
long GetPlayPosition():获得播放进度. (在直播中, 无法获得播放进度)。
boolean IsPsConnected():获知播放器时候已经连入了PPStream网络。
long Pause():暂停. 切记: 恢复播放依然调用Pause();函数。
返回值: 1 暂停成功;2 恢复播放成功;-1 无效
boolean Play():播放。
返回值: 1 播放成功; 0 播放失败.
boolean Stop():停止播放。
[来源:http://think58.com]

返回值: 1, 停止成功; 0 停止失败
void ShowPropertyDialog():显示网络属性对话框属性。
BSTR src:PStream地址或者传统流媒体地址(mms, rtsp, http等), 本地文件地址等. 支持Real和Windows Media所有格式。
boolean ShowControl:是否显示播放控制区。
boolean autostart:是否创建播放器后自动播放src所指定的地址。
boolean topmost:是否把窗口置于顶端。
boolean autosize:视频区域是否随着播放窗口变化而改变尺寸。
BSTR ScrollTextURL:下方滚动文字资讯的网址, PowerPlayer会自动解析网址中的超链接和文字作为资讯链接滚动显示.
BSTR SkinPath:界面Skin的本地路径. Application Data\\ppStream目录下的相对路径或本机绝对路径.
BSTR Logo:Logo图片的本地路径.Gif, Jpg等windows默认支持的所有图片格式. Application Data\\ppStream目录下的相对路径或本机绝对路径. 建议多帧GIF, 动画会在缓冲期间播放.
BSTR Client:客户端代码, OEM客户有效。
boolean ShowPosition:是否显示播放进度条。
boolean ShowAbout:右键菜单中是否显示关于对话框。
short Volume:音量, 0-100。
long ShowProperty:右键菜单中是否显示”属性”。 [资料来源:http://www.THINK58.com]
boolean ShowLogo:是否显示LOGO。
boolean Mute:是否静音。
Boolean EnableContextMenu:是否显示右键菜单。
4.3.2 播放器外观界面设计
设计如图所示: [资料来源:www.THINK58.com]

[资料来源:http://THINK58.com]

think58.com [来源:http://think58.com]

think58.com [资料来源:www.THINK58.com]

copyright think58

[资料来源:THINK58.com]

think58

[资料来源:http://THINK58.com]

think58.com [资料来源:http://www.THINK58.com]

[资料来源:http://THINK58.com]


图二 界面设计图
4.3.3 添加曲目的实现
调用了OpenFileDialog()方法,并对初始文件夹进行了设置。接着先取得文件名,再用Substring取得文件扩展名,最后将文件名全部放入菜单控件。
OpenFileDialog opFile = new OpenFileDialog();
opFile.Multiselect = true;
opFile.InitialDirectory = "D:\\My Doncument";
opFile.RestoreDirectory = true;
opFile.ShowDialog();
string[] Fname;
string Ename;
Fname = opFile.FileNames;
Ename = opFile.FileName.Substring(opFile.FileName.LastIndexOf(".") + 1);
this.fileType.Text = Ename;
if (Fname.Length > 0)
{
for (int i = 0; i < Fname.Length; i++)
{
this.lstPlaylist.Items.Add(Fname[i]);
}
this.lstPlaylist.SelectedIndex = 0;
}

[资料来源:http://THINK58.com]


think58.com [资料来源:http://THINK58.com]

think58 [来源:http://www.think58.com]