iPod库返回没有曲目的资产

时间:2011-08-23 17:13:45

标签: iphone ios core-audio avassetwriter

我使用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

问题发生的资产似乎发生了变化,如果我重新启动应用并再次加载相同的资产,则会正确加载。

有没有人见过这个?知道我可能做错了吗?

1 个答案:

答案 0 :(得分:0)

我认为问题是CMSampleBufferRef没有被释放。因此,iPod库一次打开的项目太多了。在其他设备上也发生了相同的行为,只需要更长时间内存在更多内存的设备。