我目前能够使用iOS SDK将MP3文件上传到Google云端硬盘,但是我遇到了一个问题,我无法将ID3标签在文件内。有没有办法将这些信息直接添加到GTLDriveFile中,或者至少有一些替代方法?将带有MP3文件的ID3标签上传到Google云端硬盘 - iOS SDK
当前代码:
GTLDriveParentReference *parentRef = [GTLDriveParentReference object];
parentRef.identifier = self.kDriveMusicDirID;
parentRef.isRoot = NO;
GTLDriveFileThumbnail *thumbnail = [[GTLDriveFileThumbnail alloc] init];
thumbnail.image = GTLEncodeWebSafeBase64(UIImageJPEGRepresentation(file.image, 80));
thumbnail.mimeType = @"image/jpeg";
GTLDriveFile *driveFile = [[GTLDriveFile alloc] init];
NSString *title = [NSString stringWithFormat:@"%@ - %@.mp3", file.artist, file.songTitle];
driveFile.title = title;
driveFile.mimeType = @"audio/mp3";
driveFile.parents = @[parentRef];
driveFile.thumbnail = thumbnail;
AVURLAsset *songAsset = [AVURLAsset assetWithURL:file.assetURL];
[self extractDataForAsset:songAsset withCallback:^(NSData *data, NSError *error)
{
if (error == nil)
{
GTLUploadParameters *uploadParameters =
[GTLUploadParameters uploadParametersWithData:data
MIMEType:driveFile.mimeType];
GTLQueryDrive *query = [GTLQueryDrive queryForFilesInsertWithObject:driveFile
uploadParameters:uploadParameters];
[self.driveService executeQuery:query
completionHandler:^(GTLServiceTicket *ticket, id object, NSError *error)
{
if (error == nil)
{
completion(nil);
}
else
{
completion(error);
}
}];
}
else
{
//handle the error. notification that the upload has failed.
}
}];
ID3标签,你能解释一下是什么意思? – ChenSmile
ID3标签嵌入在一个MP3文件中,该文件可保存关于艺术家,歌曲,专辑,流派等信息。 当您将MP3曲目导入iTunes等音乐播放器时,ID3标记用于将详细信息添加到软件中自动。没有ID3标签,每次你将音乐导入到音乐播放器中,你都必须手动输入艺术家的详细信息,歌曲名称等。 –
可以显示你上传MP3文件到g盘的代码 – ChenSmile