音频的录制与播放组件SYAudio

£神魔★判官ぃ 2022-05-17 06:39 366阅读 0赞

组件SYAudio

  • 音频的录制

    • 录制后会进行压缩更小的文件,并以mp3格式输出
    • 录制过程中,可以监测音量的变化
    • 可以设置录音时间长
  • 音频的播放

    • 本地的文件播放
    • 网络文件播放
    • 播放状态监测
    • 播放时间监测
  1. * 文件播放总时间
  2. * 当前播放进度时间

效果图
效果图

使用注意:

  • 添加AVFoundation.framework、AudioToolbox.framework
  • 音频处理包括:开始录音、停止录音、播放音频、停止音频播放
  • 音频处理是通过按钮进行交互,通常采用三种状态交互方式
  1. * UIControlEventTouchDown状态时,开始录音
  2. * UIControlEventTouchUpInside状态时,停止录音,并进行类似音频文件存储的操作
  3. * UIControlEventTouchDragExit状态时,与UIControlEventTouchUpInside状态进行相同的操作
  • 注意隐私设置,添加启用录音功能
  1. * 设置方法:[https://blog.csdn.net/potato512/article/details/52595649][https_blog.csdn.net_potato512_article_details_52595649]
  • 播放网络音频文件时,http协议的适配
  1. * plist文件设置属性:App Transport Security Settings-Allow Arbitrary Loads-YES
  • 设置Enable Bitcode属性为NO

使用介绍

  • 自动导入:使用命令pod 'SYAudio'导入到项目中
  • 手动导入:或下载源码后,将源码添加到项目中

使用示例

导入头文件

  1. #import "SYAudio.h"

音量图标显示YES,或不显示NO

  1. // 显示
  2. [SYAudio shareAudio].audioRecorder.monitorVoice = YES;
  3. // 不显示
  4. [SYAudio shareAudio].audioRecorder.monitorVoice = NO;

音频处理方法-开始录音

  1. NSString *filePath = xxxxx;
  2. [[SYAudio shareAudio].audioRecorder recorderStart:filePath complete:^(BOOL isFailed) {
  3. }];

音频处理方法-停止录音

  1. [[SYAudio shareAudio].audioRecorder recorderStop];

音频处理方法-播放音频(本地音频文件,或网络音频文件均可播放)

  1. NSString *filePath = xxxxx;
  2. [[SYAudio shareAudio].audioPlayer playerStart:filePath complete:^(BOOL isFailed) {
  3. }];

音频处理方法-停止音频播放

  1. [[SYAudio shareAudio].audioPlayer playerPause];

代理、协议SYAudioDelegate,及实现协议方法

  1. [SYAudio shareAudio].audioPlayer.delegate = self;

实现协议方法

录音

  1. /// 开始录音
  2. - (void)recordBegined
  3. {
  4. }
  5. /// 停止录音
  6. - (void)recordFinshed
  7. {
  8. }
  9. /// 正在录音中,录音音量监测
  10. - (void)recordingUpdateVoice:(double)lowPassResults
  11. {
  12. }
  13. /// 正中录音中,是否录音倒计时、录音剩余时长
  14. - (void)recordingWithResidualTime:(NSTimeInterval)time timer:(BOOL)isTimer
  15. {
  16. }

压缩

  1. /// 开始压缩录音
  2. - (void)recordBeginConvert
  3. {
  4. }
  5. /// 结束压缩录音
  6. - (void)recordFinshConvert:(NSString *)filePath
  7. {
  8. }

播放

  1. /// 开始播放音频
  2. - (void)audioPlayBegined:(AVPlayerItemStatus)state
  3. {
  4. }
  5. /// 正在播放音频(总时长,当前时长)
  6. - (void)audioPlaying:(NSTimeInterval)totalTime time:(NSTimeInterval)currentTime
  7. {
  8. }
  9. /// 结束播放音频
  10. - (void)audioPlayFinished
  11. {
  12. }

发表评论

表情:
评论列表 (有 0 条评论,366人围观)

还没有评论,来说两句吧...

相关阅读