Windows runtime 如何播放存储在Windows Phone 8.1解决方案中的mp3文件?
我的解决方案中存储了许多mp3文件Windows runtime 如何播放存储在Windows Phone 8.1解决方案中的mp3文件?,windows-runtime,windows-phone-8.1,Windows Runtime,Windows Phone 8.1,我的解决方案中存储了许多mp3文件 /Resources/mp3Files/ 在Windows Phone 8中,我可以通过以下方式播放这些内容: var name = track.Item1; var uri = new Uri("/Resources/mp3Files/sound.mp3", UriKind.Relative); var song = Song.FromUri(name, uri); FrameworkDispatcher.Update(); MediaPlayer.P
/Resources/mp3Files/
在Windows Phone 8中,我可以通过以下方式播放这些内容:
var name = track.Item1;
var uri = new Uri("/Resources/mp3Files/sound.mp3", UriKind.Relative);
var song = Song.FromUri(name, uri);
FrameworkDispatcher.Update();
MediaPlayer.Play(song);
但是,在WindowsPhone8.1中,这不起作用
要播放存储在解决方案中的mp3文件,我需要做什么?您需要在Windows 8.1中使用MediaElement: 播放音乐文件夹中存储的文件中的音频
var audioFile = await KnownFolders.MusicLibrary.GetFileAsync("/Resources/mp3Files/sound.mp3");
var stream = await audioFile.OpenAsync(Windows.Storage.FileAccessMode.Read);
mediaplayer.SetSource(stream, audioFile.ContentType);
请看一个完整的示例:您需要在Windows 8.1中使用MediaElement: 播放音乐文件夹中存储的文件中的音频
var audioFile = await KnownFolders.MusicLibrary.GetFileAsync("/Resources/mp3Files/sound.mp3");
var stream = await audioFile.OpenAsync(Windows.Storage.FileAccessMode.Read);
mediaplayer.SetSource(stream, audioFile.ContentType);
请看一个完整的示例:以下是如何使用“构建操作”内容在解决方案中嵌入的WP8.0中打开文件:
Dim fs As IO.FileStream = IO.File.OpenRead("MyFolder/MyFile.txt")
以下是在WP8.1 Win RT中的实现方式:
Dim fs As System.IO.Stream = Await Windows.ApplicationModel.Package.Current.InstalledLocation.OpenStreamForReadAsync("MyFolder\MyFile.txt")
请注意“/”如何更改为“\”以下是在WP8.0中使用“构建操作”内容打开嵌入解决方案的文件的方式:
Dim fs As IO.FileStream = IO.File.OpenRead("MyFolder/MyFile.txt")
以下是在WP8.1 Win RT中的实现方式:
Dim fs As System.IO.Stream = Await Windows.ApplicationModel.Package.Current.InstalledLocation.OpenStreamForReadAsync("MyFolder\MyFile.txt")
注意“/”如何变为“\”这就是工作原理:
// get folder app is installed to
var installFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
// get folders mp3 files are installed to.
var resourcesFolder = await installFolder.GetFolderAsync("Resources");
var mp3FilesFolder = await resourcesFolder.GetFolderAsync("mp3Files");
// open the mp3 file async
var audioFile = await mp3FilesFolder.GetFileAsync("sound.mp3");
var stream = await audioFile.OpenAsync(Windows.Storage.FileAccessMode.Read);
// play dat funky music
MediaElement mediaplayer = new MediaElement();
mediaplayer.SetSource(stream, audioFile.ContentType);
mediaplayer.Play();
这就是成功的原因:
// get folder app is installed to
var installFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
// get folders mp3 files are installed to.
var resourcesFolder = await installFolder.GetFolderAsync("Resources");
var mp3FilesFolder = await resourcesFolder.GetFolderAsync("mp3Files");
// open the mp3 file async
var audioFile = await mp3FilesFolder.GetFileAsync("sound.mp3");
var stream = await audioFile.OpenAsync(Windows.Storage.FileAccessMode.Read);
// play dat funky music
MediaElement mediaplayer = new MediaElement();
mediaplayer.SetSource(stream, audioFile.ContentType);
mediaplayer.Play();
这看起来很有希望,但它给了我一个
UnauthorizedAccessException
Hmm。尝试将mp3文件放在其他地方,例如在你的音乐库中。我想我需要为UnauthorizedAccessException授予权限,但现在是另一个问题,一个System.ArgumentException。星期一我会继续干下去,因为我现在已经干完了——呜呜,啤酒!这看起来很有希望,但它给了我一个UnauthorizedAccessException
Hmm。尝试将mp3文件放在其他地方,例如在你的音乐库中。我想我需要为UnauthorizedAccessException授予权限,但现在是另一个问题,一个System.ArgumentException。星期一我会继续干下去,因为我现在已经干完了——呜呜,啤酒!您有音乐播放器的参考资料或样品吗?您有音乐播放器的参考资料或样品吗?