iOS开发- 音频截取
来源:互联网 发布:买二手物品的软件 编辑:程序博客网 时间:2024/05/16 07:42
#pragma mark - 截取音频方法- (void)captureSongAction{ CocoaSecurityResult * result = [CocoaSecurity md5:[[NSDate date] description]]; // 创建音频文件 NSArray *dirs = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask,YES); NSString *documentsDirectoryPath = [dirs objectAtIndex:0]; NSString *filePath = [documentsDirectoryPath stringByAppendingPathComponent:@"CaptureMusic"]; if (![[NSFileManager defaultManager] fileExistsAtPath:filePath]) { [[NSFileManager defaultManager] createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:nil]; } NSString *tempMusicPath = [NSString stringWithFormat:@"%@/%@.m4a",filePath, result.hex]; NSArray *compatiblePresets = [AVAssetExportSession exportPresetsCompatibleWithAsset:self.asset]; if ([compatiblePresets containsObject:AVAssetExportPresetMediumQuality]) { AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:self.asset presetName:AVAssetExportPresetAppleM4A]; // Implementation continues. CMTime startTime = CMTimeMake(self.startTime, 1); CMTime stopTime = CMTimeMake(self.startTime+self.playTime, 1); CMTimeRange exportTimeRange = CMTimeRangeFromTimeToTime(startTime, stopTime); NSURL *furl = [NSURL fileURLWithPath:tempMusicPath]; exportSession.outputURL = furl; exportSession.outputFileType = AVFileTypeAppleM4A; exportSession.timeRange = exportTimeRange; // 截取时间 [exportSession exportAsynchronouslyWithCompletionHandler:^{ switch ([exportSession status]) { case AVAssetExportSessionStatusFailed: NSLog(@"Export failed: %@", [[exportSession error] localizedDescription]); break; case AVAssetExportSessionStatusCancelled: NSLog(@"Export canceled"); break; default: [self addCertainAlertViewWithTitle:LocalizedString(@"AlertViewTitleSysPrompt") Message:@"截取成功"]; NSLog(@"保存成功"); } }]; } }
因为iOS的输出格式不支持.mp3,只能设置为.m4a的音频文件.
AVAssetExportSession支持导出的文件类型如下所示:
<__NSArrayI 0x158c0d60>(
com.apple.quicktime-movie,
com.apple.m4a-audio,
public.mpeg-4,
com.apple.m4v-video,
public.3gpp,
org.3gpp.adaptive-multi-rate-audio,
com.microsoft.waveform-audio,
public.aiff-audio,
public.aifc-audio,
com.apple.coreaudio-format
)
0 0
- iOS开发- 音频截取
- iOS中截取视频中的音频
- iOS中截取视频中的音频
- iOS中截取视频中的音频
- iOS 关于音频开发
- iOS音频开发功能
- IOS音频开发
- IOS 音频开发
- iOS 关于音频开发
- iOS音频开发功能
- iOS开发>>>音频播放
- iOS 关于音频开发
- iOS音频开发功能
- iOS 关于音频开发
- iOS 关于音频开发
- IOS音频开发总结
- iOS 关于音频开发
- IOS开发 音频播放
- Caffe技巧之使用snapshot来继续网络训练
- Git常用命令
- 在博客的开题贴
- tomcat指定项目路径
- java动态代理--自学以及代码
- iOS开发- 音频截取
- 学生信息管理系统——问题调试
- 使用NPOI创建Excel
- 近期的感悟
- 【linux/c/c++】linux 的服务器环境安装支持c/c++等操作
- 几个小程序 O(∩_∩)O~
- Android视图交换容器工具,开发者福利!
- 理解HTTP幂等性
- Android Studio - no debuggable applications 的解决办法