我正在尝试在Windows 8.1商店应用程序(C#/ Xaml)中更新专辑封面的背景播放曲目但是我没有例外,图片不会在小传输弹出窗口中更新...
这是我正在执行的更新代码:
var track = App.MediaPlayer.Tag as Track;
await App.Api.Cache.DownloadFile("currentalbumart.png", new Uri(track.medium_image_url));
// Get the updater.
SystemMediaTransportControlsDisplayUpdater updater = App.SystemControls.DisplayUpdater;
updater.Type = MediaPlaybackType.Music;
updater.MusicProperties.AlbumArtist = track.artist;
updater.MusicProperties.Title = track.name;
updater.Thumbnail = RandomAccessStreamReference.CreateFromUri(new Uri("ms-appdata:///local/currentalbumart.png"));
updater.Update();
DownloadFile方法执行没有任何问题,如果我导航到本地文件夹,确实会下载图像。我想也许我正在使用错误的URI,但是当我将它分配给缩略图时我没有任何例外......
这里可能有什么问题?非常感谢
答案 0 :(得分:2)
我实际上已经有这个问题很长时间了但是最后修复了它,在之前的应用程序上大约20 +小时后才能使它工作。如果您使用以下代码更新缩略图,则可以使用html链接:
updater.thumbnail = Windows.Storage.Streams.RandomAccessStreamReference.createFromUri(new Windows.Foundation.Uri("http://www.example.com/logo.jpg"));
这使得函数的完整代码为:
//Used to update the media controls etc
function UpdateSongInfoManually(artist,songName,AlbumArtist, SongArt) {
// Get the updater.
var updater = systemMediaControls.displayUpdater;
updater.type = 1; //1=Music
// Music metadata.
updater.musicProperties.AlbumArtist = artist;
updater.musicProperties.AlbumArtist = mixName;
updater.musicProperties.Title = songTitle;
updater.thumbnail = Windows.Storage.Streams.RandomAccessStreamReference.createFromUri(new Windows.Foundation.Uri(MixArt));
// Set the album art thumbnail.
// RandomAccessStreamReference is defined in Windows.Storage.Streams
//updater.Thumbnail =
// RandomAccessStreamReference.CreateFromUri(new Uri("ms-appx:///Music/music1_AlbumArt.jpg"));
// Update the system media transport controls.
updater.update();
}
答案 1 :(得分:0)
我在Windows 8.1 Phone(Store)应用中遇到了类似的问题。首先,我尝试使用Windows资源管理器将MP3文件(带有ID3标签)和folder.jpg文件作为专辑封面复制到电话音乐库(音乐//)。使用标准音乐应用程序一切正常。 比我试图在我正在开发的应用程序内做同样的事情。我从服务器下载mp3和jpg文件并将它们存储到音乐库中。我用手机标准音乐应用验证了结果。正确检测到ID3标签,但未显示专辑封面jpg文件。而现在这件事变得完全神奇了。使用资源管理器我将jpg文件复制到PC并进行检查。 Jpg看起来不错。比我把它复制回手机。现在标准音乐应用程序显示正确的专辑艺术!! 也许它与文件安全性有关。