录音代码

录音转 mp3

录音播放

播放

播放锁屏通知栏显示

背景

问题

获取录音时长的问题

参考iOS 获取音频时长的正确姿势 笔记,获取音频时长,有两个问题:

  1. 录音的 http 链接经过了一次封装,且需要 token 才能获取,这种情况下获取不到
  2. 录音的链接,下载保存到系统的 cache 文件夹下
1
2
3
4
5
6
7
8
9
10
11
12
13
14

- (NSTimeInterval)audioDurationFromURL:(NSString *)url {
AVURLAsset *audioAsset = nil;
NSDictionary *dic = @{AVURLAssetPreferPreciseDurationAndTimingKey:@(YES)};
if ([url hasPrefix:@"http://"]) {
audioAsset = [AVURLAsset URLAssetWithURL:[NSURL URLWithString:url] options:dic];
}else {
audioAsset = [AVURLAsset URLAssetWithURL:[NSURL fileURLWithPath:url] options:dic];
}
CMTime audioDuration = audioAsset.duration;
float audioDurationSeconds = CMTimeGetSeconds(audioDuration);
return audioDurationSeconds;
}

参考