Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Xamarin forms IOS中使用CrossMediaManager播放Mp3文件时更改DisplayImage_Xamarin_Xamarin.forms_Xamarin.android_Xamarin.ios - Fatal编程技术网

在Xamarin forms IOS中使用CrossMediaManager播放Mp3文件时更改DisplayImage

在Xamarin forms IOS中使用CrossMediaManager播放Mp3文件时更改DisplayImage,xamarin,xamarin.forms,xamarin.android,xamarin.ios,Xamarin,Xamarin.forms,Xamarin.android,Xamarin.ios,我试图在使用CrossMediaManager播放mp3文件时更改显示图像,但似乎没有更改图像。它确实会更改标题、id等,但我不知道为什么它不能更改显示图像 async Task ExecutePlayChapterCommand() { if (IsBusy) return; IsBusy = true; try { await Task.Delay

我试图在使用CrossMediaManager播放mp3文件时更改显示图像,但似乎没有更改图像。它确实会更改标题、id等,但我不知道为什么它不能更改显示图像

async Task ExecutePlayChapterCommand()
        {
            if (IsBusy) return; 
            IsBusy = true;
            try
            {
                await Task.Delay(TimeSpan.FromMilliseconds(10));
                var reciter = Reciters.FirstOrDefault();
                Device.BeginInvokeOnMainThread(async() => {
                    var mediaItem = await CrossMediaManager.Current.Play(reciter.DownloadURL);
                    CrossMediaManager.Current.Queue.Current.IsMetadataExtracted = false;
                    mediaItem.Title = reciter.Name;
                    var image = new Image() { Source = ImageSource.FromUri(new Uri(reciter.ImagePath)) };
                    CrossMediaManager.Current.Queue.Current.Title = string.Format("{0} - {1} ({2})", "1", "ChName", "English");
                    CrossMediaManager.Current.Queue.Current.Album = reciter.Name;
                    CrossMediaManager.Current.Queue.Current.Artist = reciter.Name;
                    CrossMediaManager.Current.Queue.Current.AlbumImage = image;
                    CrossMediaManager.Current.Queue.Current.AlbumImageUri = reciter.ImagePath;
                    CrossMediaManager.Current.Queue.Current.DisplayImage = image;
                    CrossMediaManager.Current.Queue.Current.DisplayImageUri = reciter.ImagePath;
                    CrossMediaManager.Current.Queue.Current.Image = image;
                    CrossMediaManager.Current.Queue.Current.ImageUri = reciter.ImagePath;
                    CrossMediaManager.Current.Notification.UpdateNotification();
                });
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }
            finally { IsBusy = false; }
        }
    }

中上载了一个示例项目,请尝试在主线程操作中更改图像。使用
Device.BeginInvokeOnMainThread()
@LeoZhu MSFT,我有带和不带它,但都不起作用。我在Github中上载了一个示例(更新了我的问题)。你是说collectionview中的图像更改了吗?不,单击“播放”按钮时,相关图像(来自url)应该显示在播放控件中。单击播放按钮并锁定Android/iPhone。图像应在锁定屏幕播放器中更改。现在它显示应用程序图标,但它应该显示相关的图像。它与集合视图无关。