gpt4 book ai didi

iphone - 访问歌曲的 BPM 字段(MPMediaItemPropertyBeatsPerMinute 不起作用)

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:19:21 26 4
gpt4 key购买 nike

我正在构建一个包含媒体播放器的应用程序(我使用的是 iOS SDK 4.2)。在播放给定歌曲时,我几乎可以访问每个属性,但无法访问 MPMediaItemPropertyBeatsPerMinute。

每次都返回null。

Apple doc状态:

The number of musical beats per minute for the media item, corresponding to the “BPM” field in the Info tab in the Get Info dialog in iTunes. Value is an NSNumber object representing an NSUInteger data type.

Available in iOS 4.0 and later.

Declared in MPMediaItem.h.

请注意,我正在使用的歌曲在 BPM 字段中有 BPM 数据。我知道它不是默认设置的。

我一直在尝试的代码是:

MPMusicPlayerController *musicPlayer = [MPMusicPlayerController applicationMusicPlayer];
// ...
MPMediaItem *currentItem = [musicPlayer nowPlayingItem];
if (currentItem != NULL) {
NSLog([NSString stringWithFormat:@"%@", [currentItem valueForProperty:MPMediaItemPropertyBeatsPerMinute]]);
}

上面的代码为每首歌曲输出“(null)”。

因为我能够通过这种方式访问​​当前歌曲的所有其他属性,所以我相信这可能是 SDK 中的一个错误。

所以,我的问题有两个方面。

  1. 我做错了吗,或者这是 SDK 中的已知错误?
  2. 我还能如何检索歌曲的 BPM 数据?

最佳答案

我已经用 iOS SDK 4.3 测试了这个问题,可以确认它有效。不过,您的代码看起来没问题。

这可能是 4.2 SDK 中的一个错误,已在 4.3 中修复。我还可以想象旧版本的 iTunes 无法正确同步 BPM 属性。

您可以尝试使用字符串 @"beatsPerMinute" 而不是 MPMediaItemPropertyBeatsPerMinute(适用于 iOS 4.3),但我想这不会解决您的问题。

关于iphone - 访问歌曲的 BPM 字段(MPMediaItemPropertyBeatsPerMinute 不起作用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5250918/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com