3

iOS 6 と 7 の間で 2 つの奇妙な分岐動作があります。

MPMediaPicker をエンド ユーザーに提示し、1 曲を選択して再生を開始できるようにしたいと考えています。

そこで、MPMediaPicker (サポートされている場合は /not/ multi、および /not/ cloud) を示します。

2 つの問題:

  • iOS6 では、MPMediaPicker の最初の画面に曲が表示されます。iOS7 では、(空の) プレイリストです。MPMediaPicker に曲をデフォルトの最初の画面として表示させるにはどうすればよいですか? これは Apple が「よく知っている」ことのもう 1 つの例ですか?
  • iOS7 では、リスト内のメディア アイテムの横に赤い (+) 記号が表示されます。その原因は何ですか?グーグルでそのための参照を見つけることができませんでした。(+) 記号は何ですか? 表の行とは別に強調表示されていないようです。ネイティブ メディア ピッカーはこれを表示しません。

ありがとう!

-ケン

MPMediaPicker コード:

- (void)showSongPicker {
// TODO check if iOS 6
MPMediaPickerController* songPicker = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeMusic];

songPicker.delegate = self;
songPicker.allowsPickingMultipleItems = NO;

songPicker.showsCloudItems = NO;

[self presentViewController:songPicker animated:YES completion:nil];

[self presentModalViewController:songPicker animated:YES];
}

#pragma mark MPMediaPickerControllerDelegate

- (void)mediaPicker: (MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection {
MPMediaItem* item = [mediaItemCollection.items objectAtIndex:0];

[self playMediaItem:item];

[self mediaPickerDidCancel:mediaPicker];
}

- (void)mediaPickerDidCancel:(MPMediaPickerController *)mediaPicker {
[self dismissViewControllerAnimated:YES completion:nil];
}
4

2 に答える 2

1

おー!申し訳ありません。私はこれに答えるのを忘れていました。

他の誰からも回答が得られなかったので (今まで、ありがとう、lap.felix)、Apple に技術的な質問として提出しました。

彼らの答えは?ピッカーの動作に影響を与えるプログラムによる方法はありません。この「大幅に」動作を変更する必要がある場合は、独自のメディア ピッカーをロールする必要があります。

そう...ええ...ありがとう、アップル。

-ケン

于 2014-01-04T21:51:11.380 に答える
0

+ は、「このアイテムをピッカー選択に追加する」以外の意味はありません

于 2014-01-03T18:05:13.887 に答える