1

現在再生中の曲のアートワークを取得するためにメディア プレーヤー フレームワークを使用していますが、アルバム アートワークのない曲を再生するたびに、アートワークを読み込む UIImageView が空になります。アートワークのない曲を再生するたびにプレースホルダー画像を表示する方法はありますか?

4

3 に答える 3

2

私は同じ問題に遭遇しました...基本的にシミュレーターでは完全に機能しますが、実際のデバイスでは機能しません...代わりに次のことを行いました:

artworkImageView = [[UIImageView alloc] initWithFrame:CGRectMake(x,y,160,160)];
CGSize artworkImageViewSize = artworkImageView.bounds.size;
artwork = [currentItem valueForProperty:MPMediaItemPropertyArtwork];
if (artwork != nil) {
     artworkImageView.image = [artwork imageWithSize:artworkImageViewSize];
     if(artworkImageView.image == NULL){
          artworkImageView.image = [UIImage imageNamed:@"NoAlbumArt.png"];
     }
}

これで問題が解決したように見えたので、シミュレータと実際のデバイスの両方で動作します

于 2013-05-22T18:19:37.173 に答える
1

This is how I use a placeholder for songs that do not have artwork:

artworkImageView = [[UIImageView alloc] initWithFrame:CGRectMake(x,y,160,160)];

CGSize artworkImageViewSize = artworkImageView.bounds.size;
artwork = [currentItem valueForProperty:MPMediaItemPropertyArtwork];
if (artwork != nil) {
    artworkImageView.image = [artwork imageWithSize:artworkImageViewSize];
}else{
    artworkImageView.image = [UIImage imageNamed:@"NoAlbumArt.png"];
}
于 2011-09-06T03:43:04.877 に答える
0

変更を加える前に、UIImageView が「Aspect Fit」に設定されていることを確認してください。「塗りつぶしのスケール」があると機能しませんでした。

于 2014-12-29T06:09:08.447 に答える