如何从MPMediaItem访问艺术作品?

时间:2014-04-03 09:03:00

标签: ios xamarin

我正在使用Xamarin编写应用,并使用MPMediaItem获得MPMediaItemPickerController

虽然我可以使用MPMediaItem.valueForProperty访问文字值,但当我通过MPMediaItem.ArtworkProperty获取图片时,它似乎会返回MPConcreteMediaItemArtwork

将返回值转换为MPMediaItemArtwork会产生null,并且Xamarin IOS API中似乎没有MPConcreteMediaItemArtwork的相应类。

这是遗漏还是我应该访问艺术作品的另一种方式?

1 个答案:

答案 0 :(得分:0)

玩了一下之后,事实证明硬拼接很好(而不是使用as),就像这样:

MPMediaItemArtwork artwork = (MPMediaItemArtwork)mediaItem.ValueForKey(MPMediaItem.ArtworkProperty);

获得MPMediaItemArtwork后,您可以获得如下原始图像数据:

UIImage image = artwork.ImageWithSize(artwork.Bounds.Size);
NSMutableData jpegData = image.AsJPEG() as NSMutableData;