MediaElement 不播放 mp3
MediaElement doesn't play mp3
正在尝试制作一些媒体播放器应用程序。我把 mediaelement 放在 wpf 上,写代码打开媒体。但是当我尝试播放它时,什么也没有发生...
public void ContinueFileOpenPicker(FileOpenPickerContinuationEventArgs args)
{
if (args.Files.Count > 0)
{
foreach (StorageFile file in args.Files)
{
if (playlist.Contains(file.Path)) return;
playlist.Add(file.Path);
}
}
}
private void PlayButton_OnClick(object sender, RoutedEventArgs e)
{
MyMedia.Source = new Uri(playlist[0], UriKind.RelativeOrAbsolute);
MyMedia.Play();
}
已检查媒体元素源不为空,它具有正确的路径值。
尝试像那样重建,仍然不起作用
private async void PlayButton_OnClick(object sender, RoutedEventArgs e)
{
var stream = await Playlist[0].OpenAsync(FileAccessMode.Read);
MyMedia.SetSource(stream, Playlist[0].ContentType);
MyMedia.Play();
}
您需要注意几件事。
foreach (StorageFile file in args.Files)
{
if(playlist.Contains(file.Path))
{
return;// Dont return use continue. You will probably skip rest of the files.
}
playlist.Add(file.Path);
}
添加一个 Watch/Quickwatch 以查看 new Uri(playlist[0], UriKind.RelativeOrAbsolute)
是否指向正确的位置。
存储文件中的安装源:
var storageFile = await KnownFolders.MusicLibrary.GetFileAsync("line.mp3");
var stream = await storageFile.OpenAsync(FileAccessMode.Read);
mediaElement.SetSource(stream, storageFile.ContentType);
mediaElement.Play();
我从这个答案中得到它:How to play file from Library by MediaElement?
对不起,这是我的错误。
进入我的XAML,我忘记了MediaElement
控件的AutoPlay
属性设置为false
。
这解决了我的问题。
正在尝试制作一些媒体播放器应用程序。我把 mediaelement 放在 wpf 上,写代码打开媒体。但是当我尝试播放它时,什么也没有发生...
public void ContinueFileOpenPicker(FileOpenPickerContinuationEventArgs args)
{
if (args.Files.Count > 0)
{
foreach (StorageFile file in args.Files)
{
if (playlist.Contains(file.Path)) return;
playlist.Add(file.Path);
}
}
}
private void PlayButton_OnClick(object sender, RoutedEventArgs e)
{
MyMedia.Source = new Uri(playlist[0], UriKind.RelativeOrAbsolute);
MyMedia.Play();
}
已检查媒体元素源不为空,它具有正确的路径值。 尝试像那样重建,仍然不起作用
private async void PlayButton_OnClick(object sender, RoutedEventArgs e)
{
var stream = await Playlist[0].OpenAsync(FileAccessMode.Read);
MyMedia.SetSource(stream, Playlist[0].ContentType);
MyMedia.Play();
}
您需要注意几件事。
foreach (StorageFile file in args.Files)
{
if(playlist.Contains(file.Path))
{
return;// Dont return use continue. You will probably skip rest of the files.
}
playlist.Add(file.Path);
}
添加一个 Watch/Quickwatch 以查看 new Uri(playlist[0], UriKind.RelativeOrAbsolute)
是否指向正确的位置。
存储文件中的安装源:
var storageFile = await KnownFolders.MusicLibrary.GetFileAsync("line.mp3");
var stream = await storageFile.OpenAsync(FileAccessMode.Read);
mediaElement.SetSource(stream, storageFile.ContentType);
mediaElement.Play();
我从这个答案中得到它:How to play file from Library by MediaElement?
对不起,这是我的错误。
进入我的XAML,我忘记了MediaElement
控件的AutoPlay
属性设置为false
。
这解决了我的问题。