1

我正在尝试在 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);

我很困惑。有任何想法吗?

最好的祝福

索伦

4

1 回答 1

2

奥基,想通了。非常感谢袋鼠在 monotouch 聊天中!

MPMediaItemArtwork 上的 imageWithSize 方法存在绑定错误,因此需要直接向选择器发送消息。这是通过这种方式完成的(以获得 256x256 的图像):

UIImage artWorkImage = (UIImage) Runtime.GetNSObject (Messaging.IntPtr_objc_msgSend_SizeF (artwork.Handle, Selector.GetHandle ("imageWithSize:"), new SizeF (256, 256)));
于 2011-03-17T17:03:40.730 回答