MediaPlayerElement 不播放视频,除了不从我的可移动设备获取路径
MediaPlayerElement not playing videos, in addition to not taking the path from my removeable device
我正在尝试使用 MediaPlayerElement 播放闪存驱动器中的视频,方法是在后面的代码中设置视频源。我已经验证路径是正确的(至少我认为是正确的)并且格式如下:D:\\video.mp4。将其传递给 CreateFromUri 时,它说文件路径错误。
隐藏代码:
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
GetDrive();
}
public async void GetDrive()
{
StorageFolder externalDevices = KnownFolders.RemovableDevices;
IReadOnlyList<StorageFolder> externalDrives = await externalDevices.GetFoldersAsync();
StorageFolder x = externalDrives[0];
IReadOnlyList<StorageFile> items = await x.GetFilesAsync();
foreach (StorageFile file in items)
{
try
{
Uri uri = new Uri(file.Path);
mediaPlayer.Source = MediaSource.CreateFromUri(uri);
}
catch (Exception ex)
{
}
}
}
}
页数:
<Grid >
<MediaPlayerElement x:Name="mediaPlayer"
Width="400"
AutoPlay="True"
AreTransportControlsEnabled="True"/>
</Grid>
您无法将文件路径参数直接传递给 CreateFromUri 方法的 Uri。如果您想通过 Uri 访问 UWP 中的资源,可以使用多个 URI (Uniform Resource Identifier) schemes 来引用来自应用程序包、应用程序数据文件夹或云的文件。为什么不使用 CreateFromStorageFile 方法呢?
public async void GetDrive()
{
StorageFolder externalDevices = KnownFolders.RemovableDevices;
IReadOnlyList<StorageFolder> externalDrives = await externalDevices.GetFoldersAsync();
StorageFolder x = externalDrives[0];
IReadOnlyList<StorageFile> items = await x.GetFilesAsync();
foreach (StorageFile file in items)
{
try
{
mediaPlayer.Source = MediaSource.CreateFromStorageFile(file);
}
catch (Exception ex)
{
}
}
}
我正在尝试使用 MediaPlayerElement 播放闪存驱动器中的视频,方法是在后面的代码中设置视频源。我已经验证路径是正确的(至少我认为是正确的)并且格式如下:D:\\video.mp4。将其传递给 CreateFromUri 时,它说文件路径错误。
隐藏代码:
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
GetDrive();
}
public async void GetDrive()
{
StorageFolder externalDevices = KnownFolders.RemovableDevices;
IReadOnlyList<StorageFolder> externalDrives = await externalDevices.GetFoldersAsync();
StorageFolder x = externalDrives[0];
IReadOnlyList<StorageFile> items = await x.GetFilesAsync();
foreach (StorageFile file in items)
{
try
{
Uri uri = new Uri(file.Path);
mediaPlayer.Source = MediaSource.CreateFromUri(uri);
}
catch (Exception ex)
{
}
}
}
}
页数:
<Grid >
<MediaPlayerElement x:Name="mediaPlayer"
Width="400"
AutoPlay="True"
AreTransportControlsEnabled="True"/>
</Grid>
您无法将文件路径参数直接传递给 CreateFromUri 方法的 Uri。如果您想通过 Uri 访问 UWP 中的资源,可以使用多个 URI (Uniform Resource Identifier) schemes 来引用来自应用程序包、应用程序数据文件夹或云的文件。为什么不使用 CreateFromStorageFile 方法呢?
public async void GetDrive()
{
StorageFolder externalDevices = KnownFolders.RemovableDevices;
IReadOnlyList<StorageFolder> externalDrives = await externalDevices.GetFoldersAsync();
StorageFolder x = externalDrives[0];
IReadOnlyList<StorageFile> items = await x.GetFilesAsync();
foreach (StorageFile file in items)
{
try
{
mediaPlayer.Source = MediaSource.CreateFromStorageFile(file);
}
catch (Exception ex)
{
}
}
}