小编JAD*_*909的帖子

iOS 7 SDK - MediaPlayer框架 - 回滚事务

以下代码块会导致错误消息:

2013-09-13 15:27:08.449 Mobile [746:5603] {MediaLibrary}回滚交易.

MPMediaQuery *mediaQuery = [MPMediaQuery songsQuery];
NSArray *collections = [mediaQuery collections];
Run Code Online (Sandbox Code Playgroud)

这是在iOS 7 GM的控制台中.

这在iOS 6中没有问题.

有谁知道这与iOS 7有什么关系?我已经搜遍了所有,并且找不到任何关于它的信息.

此外,在for循环的每次迭代中都会记录该消息:

for (MPMediaItemCollection *collection in collections) {

    for (MPMediaItem *item in collection.items) {
        //message is written to log here as well

    }
}
Run Code Online (Sandbox Code Playgroud)

objective-c mpmediaitem mpmediaquery ipad ios

17
推荐指数
1
解决办法
2991
查看次数

iOS7中的AVAssetImageGenerator随机失败

我有一个AVComposition和一个AVVideoComposition,我每半秒左右就生成一个拇指视频.我使用动画工具进行一些叠加.我在操作队列上执行调用,并在某些类型的编辑后触发.操作队列是串行而不是异步,因此进程永远不会运行并且我已经验证了这一点.下面的代码在串行队列中的另一个NSOperation中的主线程上执行.

现在我的问题是,拇指随机失败,没有模式.我可以运行一次并让它全部成功.我可以用完全相同的参数再次运行它,并且有一些拇指失败.我可以再次运行它并且有不同的拇指失败.

它似乎与其他线程中正在进行的其他活动有关,例如从ALAssetLibrary或MediaFramework查询大量项目.

我还要提到这在iOS6中没有这个问题.

在生成拇指之前,我会创建AVComposition和AVVideoComposition的副本.

有人对我有任何指示?

我很感激.

//this must be called on the main thread to correctly generate overlays
[[NSOperationQueue mainQueue] addOperationWithBlock:^{

    AVAsset *asset = avComposition;

    AVAssetImageGenerator *generator = [[AVAssetImageGenerator alloc] initWithAsset:asset];
    generator.appliesPreferredTrackTransform = TRUE;

    AVMutableVideoComposition *mutableVideoComposition = (AVMutableVideoComposition *) avVideoComposition.mutableCopy;
    CALayer *baseSyncLayer = [CALayer layer];
    baseSyncLayer.frame = CGRectMake(0, 0, resolution.width, resolution.height);
    CALayer *videoLayer = [CALayer layer];
    videoLayer.frame = CGRectMake(0, 0, resolution.width, resolution.height);
    [baseSyncLayer addSublayer:videoLayer];
    __unused NSArray *imageLayers = [MovieCompositionService applyImageAnimations:avComposition andLayer:baseSyncLayer andProject:project fileRender:YES addTextOverlays:addTextOverlays andResolution:resolution];
    mutableVideoComposition.animationTool = [AVVideoCompositionCoreAnimationTool videoCompositionCoreAnimationToolWithPostProcessingAsVideoLayer:videoLayer …
Run Code Online (Sandbox Code Playgroud)

avfoundation ios avcomposition video-thumbnails ios7

5
推荐指数
1
解决办法
1004
查看次数