我正在尝试在Monotouch中创建一个非常简单的音乐播放器(适合小孩子),并且大部分音乐播放器都很棒。
然而,当我在播放列表中迭代MPMediaItems并尝试获取他们的作品时,我总会得到尺寸为55 x 55像素的图像。当我收听内置IPod应用程序中的歌曲时,我可以看到存储的艺术作品比那些大。
平台:最新的monodevelop和monotouch。设备上的iOS 4.2.3
获取播放列表中第一首歌曲的艺术作品的代码:
MPMediaItem[] songs = foundPlaylist.Items;
MPMediaItemArtwork artwork = (MPMediaItemArtwork)songs[0].ValueForProperty(MPMediaItemProperty.Artwork);
var imageRect = artwork.ImageCropRectangle;
UIImage artWorkImage = artwork.ImageWithSize (imageRect);
我在这里很难过。有什么想法吗?
祝你好运
索伦
答案 0 :(得分:2)
MPMediaItemArtwork上的imageWithSize方法存在绑定错误,因此您需要直接向选择器发送消息。这是以这种方式完成的(获得256x256图像):
UIImage artWorkImage = (UIImage) Runtime.GetNSObject (Messaging.IntPtr_objc_msgSend_SizeF (artwork.Handle, Selector.GetHandle ("imageWithSize:"), new SizeF (256, 256)));