【求助】vb怎么能让播放器把视频播完,再读下一个?

momolan428 2016-04-23 12:57:52
我现在有一个程序A,会不停地打开视频。windows media player 会默认播放被最新打开的那一个视频,也就是,前一个还没播完,新打开了一个视频,就开始播下一个了。
现在我想有另外一个程序B,控制media player先把正在播放的播放完,再播放最新被打开的视频(播放过程中被A打开的视频就被自动忽略,不进行播放)
跪求大神指条明路…有没有不调用程序A的接口的方法
...全文
2992 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
一如既往哈 2016-09-28
  • 打赏
  • 举报
回复
使用webbrowser来播放,很好控制的
一笑拔剑 2016-09-27
  • 打赏
  • 举报
回复
引用 7 楼 Chen8013 的回复:
[quote=引用 5 楼 aspower_ 的回复:] [quote=引用 2 楼 Chen8013 的回复:] 如果它是直接调用媒体播放器来播放,那可能就不行。 如果它是用类似于“ShellExecute”之类的东东、让系统以默认播放器来播放,那你的想法就有可能实现了。 这个你可以验证: 系统中安装有其它的播放器,把程序A打开的视频类型改为默认用第三方播放器播放; 如果这时程序A打开视频变成用第三方播放器播放了,就说明你的想法有希望实现; 如果仍然用媒体播放器打开的,那就可能没辙了。 除非能够把系统的wmplayer.exe改名、然后用自己的程序改成wmplayer.exe 替代它, 但因为瘟到死有“系统文件保护”机制,这个方法恐怕也够呛。 在“你的想法有希望实现”的条件下,要真正实现,另外一个条件就是: 你必须能够检测到播放器的播放状态(播放中,还是暂停、播放结束、空闲等等), 这样你的程序才能够按播放器状态,来实现让播放器放“下一个视频”,还是忽略掉它。
那种都有办法 看你想不想弄了 你可以用钩子啊 钩住这个程序的打开文件的API 然后当打开的时候判断一下播放完成没有就可以了啊.[/quote] 问题是,你能不能检测“瘟到死”媒体播放器的播放状态啊。 注意我说的是系统中的那个程序,不是自己程序中的控件。 不过现在高版本WMP.dll接口“很丰富”,只是不知道能否实现“与现有实例对象通讯”。[/quote] 可以过滤系统消息 还有,我记得可以替换那个媒体播放器文件的,用MPC之类的替换了文件也可以达到效果的.
舉杯邀明月 2016-09-26
  • 打赏
  • 举报
回复
引用 5 楼 aspower_ 的回复:
[quote=引用 2 楼 Chen8013 的回复:] 如果它是直接调用媒体播放器来播放,那可能就不行。 如果它是用类似于“ShellExecute”之类的东东、让系统以默认播放器来播放,那你的想法就有可能实现了。 这个你可以验证: 系统中安装有其它的播放器,把程序A打开的视频类型改为默认用第三方播放器播放; 如果这时程序A打开视频变成用第三方播放器播放了,就说明你的想法有希望实现; 如果仍然用媒体播放器打开的,那就可能没辙了。 除非能够把系统的wmplayer.exe改名、然后用自己的程序改成wmplayer.exe 替代它, 但因为瘟到死有“系统文件保护”机制,这个方法恐怕也够呛。 在“你的想法有希望实现”的条件下,要真正实现,另外一个条件就是: 你必须能够检测到播放器的播放状态(播放中,还是暂停、播放结束、空闲等等), 这样你的程序才能够按播放器状态,来实现让播放器放“下一个视频”,还是忽略掉它。
那种都有办法 看你想不想弄了 你可以用钩子啊 钩住这个程序的打开文件的API 然后当打开的时候判断一下播放完成没有就可以了啊.[/quote] 问题是,你能不能检测“瘟到死”媒体播放器的播放状态啊。 注意我说的是系统中的那个程序,不是自己程序中的控件。 不过现在高版本WMP.dll接口“很丰富”,只是不知道能否实现“与现有实例对象通讯”。
一笑拔剑 2016-09-26
  • 打赏
  • 举报
回复
引用 2 楼 Chen8013 的回复:
如果它是直接调用媒体播放器来播放,那可能就不行。 如果它是用类似于“ShellExecute”之类的东东、让系统以默认播放器来播放,那你的想法就有可能实现了。 这个你可以验证: 系统中安装有其它的播放器,把程序A打开的视频类型改为默认用第三方播放器播放; 如果这时程序A打开视频变成用第三方播放器播放了,就说明你的想法有希望实现; 如果仍然用媒体播放器打开的,那就可能没辙了。 除非能够把系统的wmplayer.exe改名、然后用自己的程序改成wmplayer.exe 替代它, 但因为瘟到死有“系统文件保护”机制,这个方法恐怕也够呛。 在“你的想法有希望实现”的条件下,要真正实现,另外一个条件就是: 你必须能够检测到播放器的播放状态(播放中,还是暂停、播放结束、空闲等等), 这样你的程序才能够按播放器状态,来实现让播放器放“下一个视频”,还是忽略掉它。
那种都有办法 看你想不想弄了 你可以用钩子啊 钩住这个程序的打开文件的API 然后当打开的时候判断一下播放完成没有就可以了啊.
舉杯邀明月 2016-05-24
  • 打赏
  • 举报
回复
当然如果“能够实现”,你也许可以把程序A打开的视频全部记录下来, 让播放器一个一个的挨着播放完。
舉杯邀明月 2016-05-24
  • 打赏
  • 举报
回复
如果它是直接调用媒体播放器来播放,那可能就不行。 如果它是用类似于“ShellExecute”之类的东东、让系统以默认播放器来播放,那你的想法就有可能实现了。 这个你可以验证: 系统中安装有其它的播放器,把程序A打开的视频类型改为默认用第三方播放器播放; 如果这时程序A打开视频变成用第三方播放器播放了,就说明你的想法有希望实现; 如果仍然用媒体播放器打开的,那就可能没辙了。 除非能够把系统的wmplayer.exe改名、然后用自己的程序改成wmplayer.exe 替代它, 但因为瘟到死有“系统文件保护”机制,这个方法恐怕也够呛。 在“你的想法有希望实现”的条件下,要真正实现,另外一个条件就是: 你必须能够检测到播放器的播放状态(播放中,还是暂停、播放结束、空闲等等), 这样你的程序才能够按播放器状态,来实现让播放器放“下一个视频”,还是忽略掉它。
lshhjxlj 2016-05-23
  • 打赏
  • 举报
回复
楼主能不能描述清楚一点,你这描述能力,实在是让人无法理解啊

809

社区成员

发帖
与我相关
我的任务
社区描述
VB 多媒体
社区管理员
  • 多媒体
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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