iOS功能开发涉及到音频处理时,最常见的时进行录音,以及音频文件的播放、停止播放等的操作。在开发中还要避免同一个音频文件,或不同音频文件之间的处理,比如说正在播放A音频时,可以停止播放A音频,也可以播放B音频时,停止播放A音频。在我的封装类中,已经对这方面做了处理。
音频开发注意事项
1、录音功能主要使用到"AVAudioRecorder"类
2、音频播放处理功能主要使用到"AVAudioPlayer"类
3、通过NSTimer处理音量显示
4、注意添加framework(AVFoundation.framework、AudioToolbox.framework)
5、只可以用来播放本地音频文件,即使是网络音频也是先下载到本地,然后再进行播放
1 主要代码
#import <Foundation/Foundation.h>
@interface AudioRecorder : NSObject
#pragma mark - 录音
/// 实例化单例
+ (AudioRecorder *)shareManager;
#pragma mark - 音频处理-录音
/// 开始录音
- (void)audioRecorderStartWithFilePath:(NSString *)filePath;
/// 停止录音
- (void)audioRecorderStop;
/// 录音时长
- (NSTimeInterval)durationAudioRecorderWithFilePath:(NSString *)filePath;
#pragma mark - 音频处理-播放/停止
/// 音频开始播放或停止
- (void)audioPlayWithFilePath:(NSString *)filePath;
/// 音频播放停止
- (void)audioStop;
@end
#import "AudioRecorder.h"
// 导入录音头文件(注意添加framework:AVFoundation.framework、AudioToolbox.framework)
#import <AudioToolbox/AudioToolbox.h>
#import <AVFoundation/AVFoundation.h>
#import "AppDelegate.h"
@interface AudioRecorder () <AVAudioRecorderDelegate>
@property (nonatomic, strong) NSTimer *audioRec