我正在使用 MediaItem api 从 iPod 库中收集资产。应用程序运行一段时间后,我遇到了一个奇怪的错误。我将运行以下代码,并且 AVURLAsset 将没有关联的轨道。
NSURL* url = [iPodSong valueForProperty:MPMediaItemPropertyAssetURL];
mAssetToLoad = [[AVURLAsset alloc] initWithURL:url options:nil];
bool protectedCon = mAssetToLoad.hasProtectedContent;
bool exportable = true;//mAssetToLoad.exportable; //4.3 only
if(!protectedCon && exportable) {
AVAssetTrack* songTrack = [mAssetToLoad.tracks objectAtIndex:0];
//CRASH tracks is of size 0
出现问题的资产似乎发生了变化,如果我重新启动应用程序并再次加载相同的资产,它会正确加载。
有没有人见过这个?知道我可能做错了什么吗?