gpt4 book ai didi

iphone - 同步后立即从 iPod 库加载歌曲

转载 作者:行者123 更新时间:2023-12-03 18:28:34 25 4
gpt4 key购买 nike

我正在开发一个 iPhone 应用程序,它使用 iPod 库来播放一些歌曲。我用下面的代码加载歌曲。问题是,在设备与 iTunes 同步后立即运行此代码时,会出现问题。显然 iPod 库需要更新,并且需要一些时间。如果我在同步后立即访问 iPod 应用程序,我会看到一条消息“正在更新库..”。如果我在发生这种情况时从应用程序中调用“[查询项目]”,我会得到一个空数组,表明库中没有歌曲。更新结束后一切都很完美。有什么办法可以解决这个问题吗?也许是一种检测更新何时结束的方法。我尝试监听所有 NSNotifications,但更新完成后没有人调用。

    MPMediaQuery *query = [MPMediaQuery songsQuery];

// convert all items to abstracted media item
NSArray *items = [query items];

NSMutableArray *convertedItems = [[NSMutableArray alloc] initWithCapacity:[items count]];
for (MPMediaItem *item in items) {
REMediaItem *mediaItem = [[REMediaItem alloc] initWithMediaItem:item];
[convertedItems addObject:mediaItem];
[mediaItem release];
}

希望有人能帮忙。

彼得

最佳答案

我发现实际上有一种方法可以查看更新何时完成。更新结束后设备会发布通知。

[[MPMediaLibrary defaultMediaLibrary] beginGeneratingLibraryChangeNotifications]
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[notificationCenter addObserver:self
selector:@selector(iPodLibraryDidChange)
name: MPMediaLibraryDidChangeNotification
object:nil];

唯一的问题是我找不到方法来确定设备是否正在更新 iPod 库,我应该等待它完成,否则设备库中根本没有任何歌曲。 [query items] 在这两种情况下都将返回一个空数组。

关于iphone - 同步后立即从 iPod 库加载歌曲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3578559/

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