ImageWithSize на MPMediaItemArtwork возвращает очень маленькое общее изображение (55 x 55 пикселей) - PullRequest
1 голос
/ 07 марта 2011

Я пытаюсь создать очень простой музыкальный проигрыватель (для маленьких детей) в Monotouch, и большая его часть работает просто замечательно.

Однако, когда я перебираю MPMediaItems в плейлисте и пытаюсь получить их иллюстрацию, я всегда получаю изображение размером 55 x 55 пикселей. Когда я слушаю песни во встроенном приложении IPod, я вижу, что сохраненное изображение больше этого размера.

Платформа: Новейшая разработка и моно касание. 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);

Я здесь довольно тупой. Есть идеи?

С наилучшими пожеланиями

Сорен

1 Ответ

2 голосов
/ 17 марта 2011

Оки, разобрался. Большое спасибо Кенгуру в чате monotouch!

Произошла ошибка привязки в методе imageWithSize в MPMediaItemArtwork, поэтому вам нужно напрямую сообщить селектору. Это делается следующим образом (чтобы получить изображение 256x256):

UIImage artWorkImage = (UIImage) Runtime.GetNSObject (Messaging.IntPtr_objc_msgSend_SizeF (artwork.Handle, Selector.GetHandle ("imageWithSize:"), new SizeF (256, 256)));
...