我想在UniversalWindowsApp
中播放一些音频文件给那些我只有路径的音频文件。这是我目前的代码:
//exception in this line:
var file = await StorageFile.GetFileFromPathAsync(@"C:\Users\myuser\Music\someartist\album\01. Title.mp3");
var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
mediaControl.SetSource(stream, file.ContentType);
mediaControl.Play();
我也试过这段代码:
mediaControl.Source = new Uri(@"C:\Users\myuser\Music\someartist\album\01. Title.mp3", UriKind.RelativeOrAbsolute);
但两个代码都抛出异常如下:
访问被拒绝。 (HRESULT异常:0x80070005(E_ACCESSDENIED))
它实际上并不位于第一个(意味着它会立即跳转到UnhandledException
),因为它会突破到中间一行(从App.g.i.cs
/ InitializeComponent()
复制) :
UnhandledException += (sender, e) =>
{
if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break();
};
如果我使用msdn中的示例代码,则可以使用:
async private void SetLocalMedia()
{
var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
openPicker.FileTypeFilter.Add(".mp3");
var file = await openPicker.PickSingleFileAsync();
// mediaControl is a MediaElement defined in XAML
if (null != file)
{
var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
mediaControl.SetSource(stream, file.ContentType);
mediaControl.Play();
}
}
这显然和我期望FileOpenPicker
一样 - 一个我不会出现的对话框,因为我已经有了文件路径。
问题是,如何在UniversalWindowsApp
中播放某些音频?
提前致谢!
答案 0 :(得分:0)
您需要了解Windows应用商店应用https://msdn.microsoft.com/en-us/library/windows/apps/hh967755.aspx
中的文件访问权限和权限