mediaplayer控件别名冲突错误的处理
来源:互联网 发布:js new date 转string 编辑:程序博客网 时间:2024/06/06 02:23
“设备的名称已被此应用程序用作别名。请使用唯一的别名。”
“设备的名称已被此应用程序用作别名。请使用唯一的别名。”
用Delphi的TMediaplayer控件,有时候需要同时播放同一个文件的时候,就会弹出这句抓狂的对话框。咋办?
研究了一下Mplayer.pas的源代码,网上找了不少关于媒体播放器参数的资料,发现了一点端倪。我们不要用Delphi默认的MIC设备的打开方式的别名,给每个MCI都设置一个随机的别名,就不会造成这种重复的别名错误了。具体要修改VCL源代码,源代码路径为:Delphi安装路径\source\Win32\vcl\MPlayer.pas
改VCL源代码要注意备份和重新编译,具体网上有很多方法,这里不敖述。
修改Open函数,找到原始代码:
OpenParm.lpstrElementName := PChar(FElementName);
在其下面添加一行代码,给别名一个随机不重复的数,建议使用GUID:
OpenParm.lpstrAlias := Pchar(GetGuid());
GetGuid()是我自己写的一个生成GUID的函数,你可以用自己的……
然后往下找到FFlag的设置地方,找到代码:
FError:=mciSendCommand(0,mci_Open,FFlags,Longint(@OpenParm));
在其上面加入:
FFlags := FFLags or MCI_OPEN_ALIAS;
告诉Delphi别名打开方式。
重新编译程序,烦人的错误不再出现,搞定……
- mediaplayer控件别名冲突错误的处理
- hql处理count sum 产生别名的错误
- MediaPlayer的错误修复
- Android的MediaPlayer错误
- web对mediaplayer的处理
- 关于MFC控件变量错误的处理
- 团队冲突的处理
- 哈希表的处理冲突
- 【Android开发】之MediaPlayer的错误分析
- [已解决] Android MediaPlayer 的一个错误
- 【Android开发】之MediaPlayer的错误分析
- 【Android开发】之MediaPlayer的错误分析
- C# 调用Widows MediaPlayer方法以及可能出现错误处理
- Android 中声音的处理一:MediaPlayer
- Android 控件之间的冲突
- 安卓控件拖动和点击事件冲突处理----可拖动的FloatingActionButton
- 利用别名来处理快速处理tomcat的常用管理
- 用数据源控件的事件处理数据库错误
- android调用非系统系统邮件发送
- hdu4221(贪心)
- cocos2dx 网游 基础模块demo展示
- 黑马程序员-集合类Map、集合工具类
- mysql 导入导出数据库
- mediaplayer控件别名冲突错误的处理
- HDU4632 Palindrome subsequence
- JBoss篇:安装与配置
- 此数据库没有有效所有者,因此无法安装数据库关系图支持对象。
- HDU4635 Strongly connected
- 重学C++
- 浅析live555MediaServer初始化流程
- Mahout源码K均值聚类算分析(2)
- ios 画图总结