Ich baue eine Anwendung, die einen Media-Player in es hat (ich bin mit iOS SDK 4.2). Während ein bestimmter Song abgespielt wird, kann ich so ziemlich jede der Eigenschaften zugreifen, aber ich kann nicht auf MPMediaItemPropertyBeatsPerMinute zugreifen.
Er gibt jedes Mal Null zurück.
Le site Apfel-Doku Staaten:
Die Anzahl der musikalischen Beats pro Minute für das Medienelement, die dem Feld "BPM" auf der Registerkarte "Info" im Dialogfeld "Informationen abrufen" in iTunes entspricht. Wert ist ein NSNumber-Objekt, das einen NSUInteger-Datentyp darstellt.
Verfügbar in iOS 4.0 und höher.
Deklariert in MPMediaItem.h.
Bitte beachten Sie, dass die Songs, die ich verwende, die BPM-Daten im BPM-Feld enthalten. Ich weiß, dass es nicht standardmäßig eingestellt ist.
Der Code, den ich ausprobiert habe, lautet:
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController applicationMusicPlayer];
// ...
MPMediaItem *currentItem = [musicPlayer nowPlayingItem];
if (currentItem != NULL) {
NSLog([NSString stringWithFormat:@"%@", [currentItem valueForProperty:MPMediaItemPropertyBeatsPerMinute]]);
}
Der obige Code gibt für jedes Lied "(null)" aus.
Da ich auf diese Weise auf jede andere Eigenschaft des aktuellen Songs zugreifen konnte, glaube ich, dass dies ein Fehler im SDK sein könnte.
Meine Frage ist also etwas zweigeteilt.
- Mache ich das falsch, oder ist dies ein bekannter Fehler im SDK?
- Wie könnte ich sonst die BPM-Daten des Liedes abrufen?