Ну, одно из требований - сделать аудиофайлы, такие как mp3, caf и другие аудиофайлы, в мелодии звонка, но для этого нужно приложению библиотеки.Формат группы, чтобы открыть.Как преобразовать mp3, caf и другие аудио файлы в файлы группы?
NSData *data = [NSData dataWithContentsOfURL:[NSURL fileURLWithPath:model.fileurl]];
NSLog(@"The file is %lu bytes", (unsigned long)[data length]);
//从路径中获得完整的文件名 (带后缀)
NSString *fileName = [model.fileurl lastPathComponent];
// 获得文件名(不带后缀)
NSString *name = [fileName stringByDeletingPathExtension];
NSString *bellName = [NSString stringWithFormat:@"%@%@.band", folderTempName, name];
ExtAudioConverter* converter = [[ExtAudioConverter alloc] init];
converter.inputFile = model.fileurl;
converter.outputFile = bellName;
converter.outputFormatID = kAudioFormatMPEGLayer3;
converter.outputFileType = kAudioFileMP3Type;
[converter convert:^(BOOL flag) {
if (flag) {
NSMutableArray *items = [[NSMutableArray alloc] initWithObjects:[NSURL fileURLWithPath:bellName], nil];
UIActivityViewController *controller = [[UIActivityViewController alloc] initWithActivityItems:items applicationActivities:nil];
// 屏蔽AirDrop分享(需要屏蔽的内容)
NSArray *excludedActivities = @[UIActivityTypePostToTwitter, UIActivityTypePostToFacebook,
UIActivityTypePostToWeibo,
UIActivityTypeMessage, UIActivityTypeMail,
UIActivityTypePrint, UIActivityTypeCopyToPasteboard,
UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll,
UIActivityTypeAddToReadingList, UIActivityTypePostToFlickr,
UIActivityTypePostToVimeo, UIActivityTypePostToTencentWeibo,UIActivityTypeAirDrop,UIActivityTypeOpenInIBooks];
controller.excludedActivityTypes = excludedActivities;
UIActivityViewControllerCompletionWithItemsHandler myBlock = ^(NSString *activityType,BOOL completed,NSArray *returnedItems,NSError *activityError)
{
NSLog(@"activityType :%@", activityType);
if (completed)
{
NSLog(@"completed");
}
else
{
NSLog(@"cancel");
}
};
// 初始化completionHandler,当post结束之后(无论是done还是cancell)该blog都会被调用
controller.completionWithItemsHandler = myBlock;
[self presentViewController:controller animated:YES completion:nil];
} else {
[MBProgressHUD showErrorMessage:NSLocalizedString(@"Error making ring tone", nil)];
}
}];