Событие «MediaPlaybackList_CurrentItemChanged» вызывает функцию для обновления медиаданных.
Однако после многих решений в функции я продолжаю получать сообщение «System.Runtime.InteropServices.COMException: ''» как ошибку.
Вот соответствующий код:
Вот соответствующий код: р>
Код: Выделить всё
async private void MediaPlaybackList_CurrentItemChanged(object sender, CurrentMediaPlaybackItemChangedEventArgs e)
{
mediaPlaybackItem = e.NewItem;
await setmetadata();
}
async private Task setmetadata()
{
if (mediaPlaybackItem.Source.CustomProperties.TryGetValue("FilePath", out var filePathObj) && filePathObj is string filePath)
{
var file = await StorageFile.GetFileFromPathAsync(filePath);
if (file != null)
{
Debug.WriteLine("Grabbed: " + filePath.ToString());
MusicProperties fileAttrib = await file.Properties.GetMusicPropertiesAsync();
album = fileAttrib.Album;
trackNumber = fileAttrib.TrackNumber.ToString();
title = fileAttrib.Title;
attribTitle.Text = "#" + trackNumber + " - " + title;
attribAlbum.Text = album;
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/781 ... mexception