Ios 如何从MPMediaItem访问艺术品?
我正在使用Xamarin编写一个应用程序,并使用Ios 如何从MPMediaItem访问艺术品?,ios,xamarin,Ios,Xamarin,我正在使用Xamarin编写一个应用程序,并使用MPMediaItemPickerController获得了一个MPMediaItem 虽然我可以使用MPMediaItem.valueForProperty访问文本值,但当我通过MPMediaItem.ArtworkProperty获取插图时,它似乎返回了MPMediaItemArtwork 将返回值强制转换为MPMediaItemArtwork将导致null,并且在Xamarin IOS API中似乎没有与MPMediaItemArtwork对
MPMediaItemPickerController
获得了一个MPMediaItem
虽然我可以使用MPMediaItem.valueForProperty
访问文本值,但当我通过MPMediaItem.ArtworkProperty
获取插图时,它似乎返回了MPMediaItemArtwork
将返回值强制转换为MPMediaItemArtwork
将导致null
,并且在Xamarin IOS API中似乎没有与MPMediaItemArtwork
对应的类
这是一个遗漏还是我应该以另一种方式访问艺术品?在播放了一段时间后,结果是硬铸的效果很好(与使用
as
相反),如下所示:
MPMediaItemArtwork artwork = (MPMediaItemArtwork)mediaItem.ValueForKey(MPMediaItem.ArtworkProperty);
UIImage image = artwork.ImageWithSize(artwork.Bounds.Size);
NSMutableData jpegData = image.AsJPEG() as NSMutableData;
拥有MPMediaItemArtwork
后,您可以获得如下原始图像数据:
MPMediaItemArtwork artwork = (MPMediaItemArtwork)mediaItem.ValueForKey(MPMediaItem.ArtworkProperty);
UIImage image = artwork.ImageWithSize(artwork.Bounds.Size);
NSMutableData jpegData = image.AsJPEG() as NSMutableData;