首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

使用windowsmediaplayer控件,设置播放文件后,怎么清空播放列表

2012-01-02 
使用windowsmediaplayer控件,设置播放文件后,如何清空播放列表?写了一个程序,显示器被分为n部分(下称屏幕1

使用windowsmediaplayer控件,设置播放文件后,如何清空播放列表?
写了一个程序,显示器被分为n部分(下称屏幕1,屏幕2……屏幕n),每部分分别显示各种信息(如视频、网页、文本、电视信号、图片等)。其中播放视频我用的是windowsmediaplayer控件,假设当前操作windowsmediaplayer控件名为wmp,使用时,程序根据用户设定文件设置wmp.url="某文件",(用vc为wmp.seturl("某文件")),播放完毕后,执行wmp.close。如需播放其他视频文件,则再次设置wmp.url=......。
请教一个关于播放列表的问题,假设程序启动后显示器分为两个屏幕,屏幕1先播放视频A,屏幕2先播放视频B,此时可见屏幕1上的windowsmediaplayer控件先显示“正在播放A”,稍后显示“播放列表1”;屏幕2上的windowsmediaplayer控件先显示“正在播放B”,稍后显示“播放列表2”。如此时屏幕1播放视频C(程序内部先停止A,然后再设置windowsmediaplayer控件.url="文件C"),此时屏幕1上的windowsmediaplayer控件先显示“正在播放C”,稍后显示“播放列表3”。
也就是说,视频控件1播放文件,控件1显示“播放列表1”,视频控件2播放文件,控件2显示“播放列表2”,视频控件1再播放另一文件时,控件1显示“播放列表3”,即这些控件的播放列表不是放在控件内部记录的,而是所有控件播放列表的大排行。
请问一下,播放列表的信息保存在什么地方?我想在每次播放文件时删除原播放列表,因为我的程序可能会分成很多屏幕,每个屏幕可能会有很多视频文件,程序长时间运行后,可能播放列表会排到非常大的数字,不知道这会不会造成大量数据长期驻留内存?有没有好的解决办法?多谢

[解决办法]
播放列表存放在注册表里,具体位置忘了,你不妨在注册表里按播放的文件的名称搜索一下。删除列表就是删除注册表的键值。
[解决办法]

探讨
播放列表存放在注册表里,具体位置忘了,你不妨在注册表里按播放的文件的名称搜索一下。删除列表就是删除注册表的键值。

[解决办法]
探讨
如果长时间不清除,可能会出现“播放列表XXXXX”,这个数字可能很大,很可能过万,甚至更高,如果不处理,会有问题吗?

[解决办法]
探讨
确实可能越来越慢。我曾经测试,程序连续运行了约30小时后,打开视频文件速度明显变慢(此时屏幕显示的播放列表数字为7000左右,我怀疑程序就是因此变慢)
但是,我又播放了一个名为b1b2b3b4.avi的视频文件(把名字起得怪一点就是为了便于在注册表中搜索),播放后(播放中和播放后我都试过)在注册表中搜不到“b1b2b3b4.avi”或“b1b2b3b4”,应该存在哪里呢?我觉得存在内存中的可能性不大,因为从现象看,播放列表不是某一个控件单独计数的,而是诸多控件播放文件的大排行,除非诸多播放控件都使用同一块内存,否则很难实现。望高手帮忙,多谢!

[解决办法]
播放列表 *.wpl是文本文件(可以用记事本打开),似xml格式,保存在:
C:\Documents and Settings\Administrator\Application Data\Microsoft\Media Player下

如果找不到,可以在C盘搜索一下 .wpl


[解决办法]
探讨
播放列表 *.wpl是文本文件(可以用记事本打开),似xml格式,保存在:
C:\Documents and Settings\Administrator\Application Data\Microsoft\Media Player下

如果找不到,可以在C盘搜索一下 .wpl

[解决办法]
我试了一下,在XP下的确是保存在当前用户的My Documents\My Music\My Playlists下面:
即 C:\Documents and Settings\ChenJL1031\My Documents\My Music\My Playlists

热点排行