나는 이와 같이 BackgroundMediaPlayer에 재생 목록을 추가하려고합니다. 그래서 다음과 같습니다Mediaplayer 형식의 개체를 IMediaPlayerSource2 형식으로 캐스팅 할 수 없습니다.
try
{
Progr.IsActive = true;
ErrorMessage.Visibility = Visibility.Collapsed;
//This fills the ObservableCollection timeLine with Tracks
await UserAuthed.PopulateTimelineTracksAsync(timeLine);
//This should create the Playlist
CreatePlaylist(timeLine);
Progr.IsActive = false;
}
catch (Exception ex)
{
Progr.IsActive = false;
ErrorMessage.Visibility = Visibility.Visible;
}
private void CreatePlaylist(ObservableCollection<Collection> TrackCollection)
{
foreach (var item in TrackCollection)
{
MediaSource ms = MediaSource.CreateFromUri(new Uri(item.origin.uri));
ms.CustomProperties.Add("Title", item.origin.title);
ms.CustomProperties.Add("Artist", item.origin.user.username);
MPL.Items.Add(new MediaPlaybackItem(ms));
}
BackgroundMediaPlayer.Current.Source = MPL;
}
그러나 BackgroundMediaPlayer.Current.Source = MPL;
에서 그는 {"Unable to cast object of type 'Windows.Media.Playback.MediaPlayer' to type 'Windows.Media.Playback.IMediaPlayerSource2'."}
이 예외의 의미는 무엇입니까 실패? 어떻게 해결할 수 있습니까?
편집 : MPL은 MediaPlaybackList입니다.
컴파일 타임 또는 실행 시간에 실패합니까? 'MPL'의 유형은 무엇입니까? –
'MPL'은'MediaPlaybackList' 유형일 수 있습니다. 그렇지? – Saadi
예, 죄송합니다, MPL은 MediaPlaybackList입니다. – Flauschcoder