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

沖さん、わかりました。モノタッチチャットでカンガルーに感謝します!

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 に答える