Silverlight MediaElement,选择本地光盘文件
本文关键字:光盘 文件 选择 MediaElement Silverlight | 更新日期: 2023-09-27 18:26:28
我正在尝试制作一个媒体播放器,您可以选择从url或本地光盘渲染文件。我没有问题,使它打开并呈现url文件
void LoadVideo_Click(object sender, RoutedEventArgs e)
{
LoadVideo.IsEnabled = false;
mediaElement.Source = new Uri(path, UriKind.Absolute);
带string path = "http://www.blablabla.com/movie.wmv"
当我试图指定本地光盘文件路径(如"c:''movie.wmv"或@"c:''moile.wmv")时,就会出现问题。这样根本不起作用。
据我所知,除了那些已经在项目目录中的文件外,你还不能直接访问硬盘上的文件。我想做的是:
- 使用对话框可以选择要打开的文件
- 将文件的路径保存到字符串中,并将其传输到MediaElement.Source
不幸的是,我不知道该怎么做。如果有任何建议,我将不胜感激。
给你,这应该可以做到:
OpenFileDialog fdlg = new OpenFileDialog(); //you need to use the OpenFileDialog, otherwise Silverlight will throw a tantrum ;)
fdlg.Filter = "MP4 Files|*.mp4|AVI files|*.avi"; //set a file selection filter
if (fdlg.ShowDialog() != true) //ShowDialog returns a bool? to indicate if the user clicked OK after picking a file
return;
var stream = fdlg.File.OpenRead(); //get the file stream
//Media is a MediaElement object in XAML
Media.SetSource(stream); //bread and butter
Media.Play(); //no idea what this does
下面是一个关于如何使用OpenFileDialog
的详细示例。至于MediaElement
,您可以在上面的代码中看到,您所需要的只是SetSource()
方法(而不是Source
属性)。