如何下载NSData,更改元数据并将其转换回NSData?

时间:2014-11-27 20:19:39

标签: ios objective-c type-conversion metadata nsdata

我尝试下载.mp4 / .m4a,更改元数据(背景图片),然后将其转换回NSData,以便将其复制到剪贴板。正如您在下面的代码中看到的那样。 _artworkData_previewData不为空。

UIImage *artworkImage = [UIImage imageWithData:_artworkData];
NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
                NSString *documentDirectory=[paths objectAtIndex:0];

                NSString *path = [documentDirectory stringByAppendingPathComponent:[NSString stringWithFormat: @"File.mp4"]];
                NSString *path = [NSString stringWithFormat:@"path"];
                [_previewData writeToFile:path atomically:YES];
                ANMovie* file = [[ANMovie alloc] initWithFile:path]; // or .mp4
                NSData* jpegCover = UIImageJPEGRepresentation(artworkImage, 1.0);
                _imageView.image = [UIImage imageWithData:jpegCover];
                ANMetadata* metadata = [[ANMetadata alloc] init];
                metadata.albumCover = [[ANMetadataImage alloc] initWithImageData:jpegCover type:ANMetadataImageTypeJPG];
                [file setMovieMetadata:metadata];
                [file close];

                _previewData = [NSMutableData dataWithContentsOfFile:path];
                UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
                NSDictionary *imageItem=@{@"public.mpeg-4-audio":self.previewData};
                NSDictionary *textItem=@{@"public.plain-text":self.linkData};

                pasteboard.items=@[imageItem,textItem];

以下代码不起作用,并在以下行记录随机10位数字时停止。

NSDictionary *imageItem=@{@"public.mpeg-4-audio":self.previewData};

这不起作用,因为我必须将.m4a转换为.mp4或其他东西吗?它似乎可以编辑元数据或者可以工作。

0 个答案:

没有答案