Ich möchte ein UITableView nur mit den Songs anzeigen, die sich gerade auf dem Gerät befinden.MPMediaQuery nur zum Zurückgeben lokaler Elemente
Wenn ich alle Artikel abfrage bekomme ich (offensichtlich) alle Artikel, einschließlich der einmal, die ich gekauft, aber nicht heruntergeladen habe. Hier ist die (Teil) des Codes
@property (strong, nonatomic) NSMutableArray *songsList;
- (void)viewDidLoad
{
[super viewDidLoad];
self.tableView.delegate = self;
self.tableView.dataSource = self;
MPMediaQuery *everything = [[MPMediaQuery alloc] init];
NSArray *itemsFromGenericQuery = [everything items];
self.songsList = [NSMutableArray arrayWithArray:itemsFromGenericQuery];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return self.songsList.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"TableCellID";
TableCellTitle *tablecell = (TableCellTitle *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
MPMediaItem *song = [self.songsList objectAtIndex:indexPath.row];
NSString *songTitle = [song valueForProperty: MPMediaItemPropertyTitle];
tablecell.cellSongname.text = songTitle;
return tablecell;
}
Ich habe ein paar Dinge über
Beteiligung[song valueForProperty:MPMediaItemPropertyIsCloudItem]
aber nicht bekommen kann es zu arbeiten, wie ich oben erläutert. Irgendwelche Vorschläge?
I‘ Ich hatte ein ähnliches Problem. Apples Music App filtert alle Songs heraus, die sich nicht auf dem Gerät befinden, wenn Ihr Internet nicht erreichbar ist, und ich glaube nicht, dass es etwas mit "MPMediaItemPropertyIsCloudItem" zu tun hat. Mit dieser Eigenschaft werden nur die Songs abgerufen, die Sie manuell aus der Cloud heruntergeladen haben. Die Music App kann jedoch erkennen, welche Songs in den Cache heruntergeladen wurden, unabhängig davon, ob sie manuell heruntergeladen wurden oder ob der Benutzer sie nur einmal angehört hat . Ich würde auch gerne eine Lösung dafür finden. – sooper
Oder versuchen Sie einfach Songs aus der Cloud herunterzuladen? – sooper
Klingt, als ob wir nach dem gleichen Ding suchen ...;) – ASCJU