微信录音功能,录音动画,录音文件转成amr格式(只有wav文件大小的1/10)

本文介绍了一个iOS平台上的语音录制与播放组件的实现细节。包括如何通过代理方法实现播放控制,以及录制过程中不同状态的处理,如开始、持续、取消和完成录制等。同时还涉及了录音文件的本地存储路径及格式转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里写图片描述

试用起来很方便,封装好了,各种代理方法处理

#pragma 播放代理
- (void)czh_audioPlayerPause {

}

- (void)czh_audioPlayerStop {
    self.playButton.selected = NO;
}

- (void)czh_audioPlayerFinish {

    self.playButton.selected = NO;
}

#pragma 录制按钮代理
- (void)czh_continueRecordingWithButton:(CZHRecordVoiceButton *)button {

    CZHLog(@"持续录制");
}

- (void)czh_didBeginRecordWithButton:(CZHRecordVoiceButton *)button {
    CZHLog(@"开始录制");
    ///开始录制停止播放
    [[CZHAudioPlayer shareInstance] czh_stopCurrentAudio];
}

- (void)czh_didCancelRecordWithButton:(CZHRecordVoiceButton *)button {
    CZHLog(@"取消录制");
}

- (void)czh_didFinishedRecordWithButton:(CZHRecordVoiceButton *)button audioLocalPath:(NSString *)audioLocalPath {
    CZHLog(@"结束录制返回路径=%@", audioLocalPath);

    //转换成amr的路径,文件大小大概只有原来的1/10,所以上传到服务器比较快,播放的时候记得转换成wav的
    if (audioLocalPath.length > 0) {

        self.audioLocalPath = audioLocalPath;

        self.playButton.hidden = NO;
        self.deleteButton.hidden = NO;
    }
}

- (void)czh_willCancelRecordWithButton:(CZHRecordVoiceButton *)button {
    CZHLog(@"将要取消录制");
}

简书地址
github地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值