我正在使用Xamarin编写应用,并使用MPMediaItem
获得MPMediaItemPickerController
。
虽然我可以使用MPMediaItem.valueForProperty
访问文字值,但当我通过MPMediaItem.ArtworkProperty
获取图片时,它似乎会返回MPConcreteMediaItemArtwork
。
将返回值转换为MPMediaItemArtwork
会产生null
,并且Xamarin IOS API中似乎没有MPConcreteMediaItemArtwork
的相应类。
这是遗漏还是我应该访问艺术作品的另一种方式?
答案 0 :(得分:0)
玩了一下之后,事实证明硬拼接很好(而不是使用as
),就像这样:
MPMediaItemArtwork artwork = (MPMediaItemArtwork)mediaItem.ValueForKey(MPMediaItem.ArtworkProperty);
获得MPMediaItemArtwork
后,您可以获得如下原始图像数据:
UIImage image = artwork.ImageWithSize(artwork.Bounds.Size);
NSMutableData jpegData = image.AsJPEG() as NSMutableData;