日期:2014-05-18  浏览次数:21106 次

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

2个问题:

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

2、远程视频文件播放过一次后都缓存到哪了?可否在播放完一遍后吧视频文件保存到指定的文件夹?

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

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

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