WPF中用mediaElement播放远程的视频文件时加载的问题

APM60- 2012-06-12 02:05:49
需要循环播放一些视频。有本地的,有远程的。
现在用的方法是,播放完成时,重新设置Source为下一个视频地址,然后播放。
如果是远程视频文件,如一个20M左右的MP4文件,播放器加载时则会黑屏约十几秒的时间。
播放过一次后,再次播放时,就不需要等待了。

2个问题:

1、远程的视频文件可否预先加载?比如播放上一个视频时,加载下一个视频?中间不间断连续播放?

2、远程视频文件播放过一次后都缓存到哪了?可否在播放完一遍后吧视频文件保存到指定的文件夹?
...全文
599 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
u013330547 2014-08-29
  • 打赏
  • 举报
回复
貌似楼上的方法没有真正的解决问题啊,预加载的话,第一个文件还是要等很久啊!遇到同样的问题了,求高手!
APM60- 2012-07-24
  • 打赏
  • 举报
回复
感谢回复!

[Quote=引用 1 楼 的回复:]

同时开2个Player,1个是当前的,另一个则预加载(preload)下一个
另外如果要做的比较好则需要采用Stream Media Server,比如Adoble FMS或是Microsoft Media Server
共享文件的机制效率很差
[/Quote]

正在查资料。
求相关的资料或链接地址。谢谢!

[Quote=引用 3 楼 的回复:]

黑屏是因为主线程下载资源的时候会被阻塞,采用多线程的方法就不会黑屏了。
预加载可以现在后台下载完成,然后存放于某个对象中,播放完毕的时候将source重新在后台赋值就行了,也可以采用两个player的方法
[/Quote]

相当于先下载后播放么?

以前也考虑过下载的方式,后来觉得可能会有些复杂,就放弃了。
需要考虑已下载、未下载、以及下载到一半出错的情况,还需要删掉过期的视频。

=====================================================
另。黑屏指的是播放器区域,其他位置显示不受影响,只是操作会卡住一会。

2个Player的方法。
我担心第2个Player后台加载的时候,会卡一下,给人感觉像是无缘无故的卡了一下。
视频切换时卡一下还好,至少能够看到卡的原因。
不知道有什么好的解决方法没有?

最近想到的一个方法。
在视频加载时,在视频位置上交替显示几张图片,盖住视频区域。
sky2008444 2012-07-23
  • 打赏
  • 举报
回复
黑屏是因为主线程下载资源的时候会被阻塞,采用多线程的方法就不会黑屏了。
预加载可以现在后台下载完成,然后存放于某个对象中,播放完毕的时候将source重新在后台赋值就行了,也可以采用两个player的方法
StarlightHan 2012-07-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

同时开2个Player,1个是当前的,另一个则预加载(preload)下一个
另外如果要做的比较好则需要采用Stream Media Server,比如Adoble FMS或是Microsoft Media Server
共享文件的机制效率很差
[/Quote]
预加载机制
摆一下就ok了
nonocast 2012-07-20
  • 打赏
  • 举报
回复
同时开2个Player,1个是当前的,另一个则预加载(preload)下一个
另外如果要做的比较好则需要采用Stream Media Server,比如Adoble FMS或是Microsoft Media Server
共享文件的机制效率很差

110,534

社区成员

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

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

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