音频的录制与播放组件SYAudio

组件SYAudio

  • 音频的录制

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

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

效果图
效果图

使用注意:

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

使用介绍

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

使用示例

导入头文件

#import "SYAudio.h"

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

// 显示
[SYAudio shareAudio].audioRecorder.monitorVoice = YES;

// 不显示
[SYAudio shareAudio].audioRecorder.monitorVoice = NO;

音频处理方法-开始录音

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

}];

音频处理方法-停止录音

扫描二维码关注公众号,回复: 2644032 查看本文章
[[SYAudio shareAudio].audioRecorder recorderStop];

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

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

}];

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

[[SYAudio shareAudio].audioPlayer playerPause];

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

[SYAudio shareAudio].audioPlayer.delegate = self;

实现协议方法

录音

/// 开始录音
- (void)recordBegined
{

}

/// 停止录音
- (void)recordFinshed
{

}

/// 正在录音中,录音音量监测
- (void)recordingUpdateVoice:(double)lowPassResults
{

}

/// 正中录音中,是否录音倒计时、录音剩余时长
- (void)recordingWithResidualTime:(NSTimeInterval)time timer:(BOOL)isTimer
{

}

压缩

/// 开始压缩录音
- (void)recordBeginConvert
{

}

/// 结束压缩录音
- (void)recordFinshConvert:(NSString *)filePath
{

}

播放

/// 开始播放音频
- (void)audioPlayBegined:(AVPlayerItemStatus)state
{

}

/// 正在播放音频(总时长,当前时长)
- (void)audioPlaying:(NSTimeInterval)totalTime time:(NSTimeInterval)currentTime
{

}

/// 结束播放音频
- (void)audioPlayFinished
{

}

猜你喜欢

转载自blog.csdn.net/potato512/article/details/81490627