axWindowsMediaPlayer 播放列表重载问题?

mhjmhj2000 2006-12-06 02:02:07
Item = axWindowsMediaPlayer1.newMedia(playlist);
axWindowsMediaPlayer1.settings.setMode("loop", true); //设置列表循环播放
axWindowsMediaPlayer1.currentPlaylist.insertItem(0, Item);
axWindowsMediaPlayer1.playlistCollection.newPlaylist(playlist); //重载播放列表
axWindowsMediaPlayer1.Ctlcontrols.play();

如何能实现播放列表的重载呢?也就是如果程序增加了新的播放列表,那么axWindowsMediaPlayer播放完当前列表就会加载新的列表,怎么实现,有用过axWindowsMediaPlayer的吗
...全文
781 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
绿色夹克衫 2006-12-08
  • 打赏
  • 举报
回复
WMPLib.IWMPPlaylist currentList = this.axWindowsMediaPlayer1.currentPlaylist;

WMPLib.IWMPMedia Media = axWindowsMediaPlayer1.newMedia("文件名");
currentList.appendItem(Media);

用这个方法就能更新列表,我调试过,自动加在当前列表的后面。不影响当前的播放。

mhjmhj2000 2006-12-08
  • 打赏
  • 举报
回复
to litaoye()
你写的东西调试过吗?
mhjmhj2000 2006-12-08
  • 打赏
  • 举报
回复
一个列表怎么能实现,更新完列表,以前播放的东西,就不要播放了,你这是向列表里不断加文件,而不是更新列表
绿色夹克衫 2006-12-08
  • 打赏
  • 举报
回复
如果要播放完当前的Media,再更换新的列表,有一个MediaChange事件(手边没有Sdk名字不一定准确,但应该差不多),在里面判断是否要更新列表,把CurrentList Clear,然后添加新的就可以。
绿色夹克衫 2006-12-08
  • 打赏
  • 举报
回复
如果不播了,清除当前列表,然后再添加!
mhjmhj2000 2006-12-08
  • 打赏
  • 举报
回复
你的方法是向正在使用的列表里加文件吧? 我要实现的是我指定另一个播放列表,让程序加载,以前的列表就清除,不用了,你的方法好象不行
绿色夹克衫 2006-12-07
  • 打赏
  • 举报
回复
用mataFile来实现吧,把asx当作media,直接加进去就行。

WMPLib.IWMPPlaylist currentList = this.axWindowsMediaPlayer1.currentPlaylist;
WMPLib.IWMPMedia Media = axWindowsMediaPlayer1.newMedia(@"c:\1.asx");
currentList.appendItem(Media);

如果不想生成文件,就直接把新的Media一个一个的加入到currentPlaylist

WMPLib.IWMPPlaylist currentList = this.axWindowsMediaPlayer1.currentPlaylist;

WMPLib.IWMPMedia Media = axWindowsMediaPlayer1.newMedia(@"c:\1.wmv");
currentList.appendItem(Media);

Media = axWindowsMediaPlayer1.newMedia(@"c:\2.wmv");
currentList.appendItem(Media);

如果还是希望通过playlist来解决,就在axWindowsMediaPlayer1的PlayStateChange事件里改动吧(判断播放完毕)

WMPLib.IWMPPlaylist playList = axWindowsMediaPlayer1.playlistCollection.newPlaylist("test");

WMPLib.IWMPMedia Media = axWindowsMediaPlayer1.newMedia(@"c:\1.wmv");
playList.appendItem(Media);

Media = axWindowsMediaPlayer1.newMedia(@"c:\2.wmv");
playList.appendItem(Media);

this.axWindowsMediaPlayer1.currentPlaylist = playList;
绿色夹克衫 2006-12-07
  • 打赏
  • 举报
回复
上面的程序有个问题,就是如果是手动停止,也会触发这个事件,你可以再加一个标识来判断。
绿色夹克衫 2006-12-07
  • 打赏
  • 举报
回复
看了你所说的,应当用一个列表就能实现,不应当是多个列表。否则还要专门做列表的管理。
程序去服务器上找,找到了新的Media(包括asx),直接加在后面就好了。
mediaplayer会自动播放新添加的内容。

不做循环播放,也可以继续播,

private void axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
{
WMPLib.WMPPlayState newState = (WMPLib.WMPPlayState)e.newState;
switch (newState)
{
case WMPPlayState.wmppsStopped:
axWindowsMediaPlayer1.Ctlcontrols.play();
break;
}
}

另外10秒触发,不要触发Form_load

单独写一个函数来做。
mhjmhj2000 2006-12-07
  • 打赏
  • 举报
回复
如何判断列表播放完了也是个问题 :(
mhjmhj2000 2006-12-07
  • 打赏
  • 举报
回复
to litaoye()
to 不做循环播放,那如果a列表播放完了,而又没加新的列表不就停下来了吗?,这个程序是没有人去控制它的,新列表也是程序自己去服务器找,看有没有新的列表,有就下来,自动重载列表,所以要10秒触发,不知道我这样解释你是否明白
绿色夹克衫 2006-12-07
  • 打赏
  • 举报
回复
为什么要10秒触发?
绿色夹克衫 2006-12-07
  • 打赏
  • 举报
回复
别作循环播放,当列表播放完了,会触发PlayStateChange事件(会自动Stop),然后你重新让他播放不就行了。
mhjmhj2000 2006-12-07
  • 打赏
  • 举报
回复
怎么判断知道播放列表是否播放完呢?
mhjmhj2000 2006-12-07
  • 打赏
  • 举报
回复
to litaoye()
是这样,private void Form1_Load(object sender, EventArgs e)定时10秒触发,怎么在里面实现重载播放列表,比如现在正在播放a.asx,那么事件触发以后就怎么加载列表b.asx在a列表播放完以后,就播放 b列表的内容
我是这样写的,
private void Form1_Load(object sender, EventArgs e)

WMPLib.IWMPPlaylist List = axWindowsMediaPlayer1.playlistCollection.newPlaylist(playlist);
this.axWindowsMediaPlayer1.currentPlaylist = List;
axWindowsMediaPlayer1.currentPlaylist.appendItem(axWindowsMediaPlayer1.newMedia(playlist));
axWindowsMediaPlayer1.settings.setMode("loop", true); //设置列表循环播放
axWindowsMediaPlayer1.Ctlcontrols.play();


但是实现不了,现在列表可以重载,但是10秒钟他就重头开始,有时加载完列表还报错,说另一进程正在使用此文件,怎么解决?重新加载完列表能不能做下判断,正在播放的列表播完以后再播放新加载的列表
任亚军 2006-12-06
  • 打赏
  • 举报
回复
先把他给停了 重新给他指向一把
CN_Azure 2006-12-06
  • 打赏
  • 举报
回复
再问一问题,一个XML文件,打包的时候可以它安装到目标机器的指定文件夹内吗?
___________________________

可以。
----------------------------
怎么实现呢 ?
mhjmhj2000 2006-12-06
  • 打赏
  • 举报
回复
可以的话,怎么弄呢,VS自带的打包工具可以做到吗
Qim 2006-12-06
  • 打赏
  • 举报
回复
再问一问题,一个XML文件,打包的时候可以它安装到目标机器的指定文件夹内吗?
___________________________

可以。
mhjmhj2000 2006-12-06
  • 打赏
  • 举报
回复
再问一问题,一个XML文件,打包的时候可以它安装到目标机器的指定文件夹内吗?
加载更多回复(3)
内容概要:本文介绍了基于低秩逼近代理模型的N-1安全约束经济调度快速计算方法,并提供了完整的Matlab代码实现。该方法针对电力系统中N-1故障场景下的安全约束经济调度(SCED)问题,提出采用低秩逼近技术构建高效代理模型,有效降低高维优化问题的计算维度与复杂度,显著提升多场景下调度方案的求解效率。文中系统阐述了数学建模过程、代理模型构造原理、低秩近似算法推导及其实现流程,特别适用于含高比例可再生能源接入、存在大量不确定性因素的现代电力系统优化调度,能够在保障计算精度的同时满足实时性与准实时性应用需求。; 适合人群:具备电力系统分析、优化理论基础及Matlab编程能力的研究生、科研人员和工程技术人员,尤其适合从事电力系统经济调度、安全稳定分析、不确定性建模与高性能计算等相关领域的专业人士。; 使用场景及目标:①应用于大规模电力系统在N-1故障条件下的快速安全校核与经济调度决策支持;②为高渗透率新能源接入的电力系统提供高效的多场景优化求解方案;③支撑日前调度、实时调度等对计算速度与精度均有较高要求的工程应用场景。; 阅读建议:读者应结合所提供的Matlab代码深入理解算法实现细节,建议在标准测试系统上复现并调试程序,以掌握低秩逼近方法在电力系统优化中的具体应用技巧,并可根据实际研究方向进行模型拓展、性能对比与算法改进。
内容概要:本文档聚焦于电力系统黑启动与负荷恢复的研究,结合Matlab代码实现,系统探讨了电力系统在发生大面积停电事故后的恢复策略。研究内容涵盖了黑启动过程中的关键环节,如发电机组的启动顺序、恢复路径规划、负荷逐步投入等,并通过Matlab仿真对恢复流程进行建模与验证,旨在优化恢复时序与资源配置。文档还关联了智能优化算法、机器学习、路径规划、电力系统故障分析与调度优化等多种技术方向,展现了其在科研与工程实践中的广泛应用前景。配套代码和资料可通过提供的网盘链接下载,便于读者复现与拓展研究。; 适合人群:具备电力系统基本理论知识和Matlab编程能力的研究生、高校科研人员及从事电力系统运行、调度与控制相关工作的工程技术与研究人员。; 使用场景及目标:①用于电力系统恢复策略的教学演示与科研仿真分析;②支撑黑启动方案的设计、评估与优化决策;③为复杂电网故障后快速恢复供电提供算法模型与技术参考; 阅读建议:建议读者结合网盘中的完整代码资源,按照文档所述技术路线逐步实践,重点关注黑启动过程中机组启动逻辑与负荷恢复的协调机制,并可进一步拓展至多能源协同恢复、智能算法优化等前沿研究方向。
源码直接下载地址: https://pan.quark.cn/s/1eceaa56687c Chrome 开发者工具中文手册 =============== Chrome DevTools 是公认的优秀的前端调试工具,由于功能强大,所以使用起来有一定的学习门槛,与此同时 Chrome DevTools 暂时没有中文手册,对于不太熟悉英文的同学会比较吃力。 本项目的初衷是为想使用或者正在使用 Chrome DevTools 的同学提供一个中文手册,方便大家学习使用这个优秀的工具,提高前端开发效率和质量! 翻译流程 第一阶段 先将 Chrome DevTools 的内容按现有的目录结构翻译成中文,其中: 文章正文内容均放在 目录下,采用 格式。 文章中所用到的图片资源暂时先用现有英文手册的原始链接,后续图片资源会统一托管到七牛云存储 文件命名规则 文件名为 Chrome DevTools 对应文章超链接中 后的部分。 所有的空格和 用 代替。 例如: 这篇文档,对应 这个文件。 对于下级子页面文档,将其放在以父级文档名称命名的文件夹下面。 例如: 属于 那么将放置在 。 第二阶段 根据翻译文档,制作成类似在线手册或者与官方文档类似的网站,方便大家参阅。 参与项目 欢迎你参与翻译本项目,在翻译的过程中,可以锻炼你的英语能力和 Chrome DevTools 的实际应用能力,同时还为他人提供方便,何乐而不为? 一个个 commit 堆积起来就是一个了不起的 repo,欢迎你 Fork 并提交 Pull Request 或者 Issue ,哪怕是改正一个错别字、修正一个病句,我们都会很高兴。 参与方法和步骤如下: 登录 https://.com Fork 创建您的特性分支 (gi...

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧