ios – AVAudioRecorder记录流音频

ios – AVAudioRecorder记录流音频,第1张

概述我有一个播放流音频的应用程序.如何使用AVAudioRecorder(或其他东西?)从AVPlayer录制流式音频.谢谢. 斯威夫特3 这是一个简单的VC,它将音频会话保存到文件dir(audio.aac) import UIKitimport AVFoundationclass ViewController: UIViewController { var audioRecorde 我有一个播放流音频的应用程序.如何使用AVAudioRecorder(或其他东西?)从AVPlayer录制流式音频.谢谢.解决方法 斯威夫特3
这是一个简单的VC,它将音频会话保存到文件dir(audio.aac)
import UIKitimport AVFoundationclass VIEwController: UIVIEwController {    var audioRecorder: AVAudioRecorder?    overrIDe func vIEwDIDLoad() {        super.vIEwDIDLoad()        verifyRecordPermission()    }    @IBAction func recordButonAction(_ sender: UIbutton) {        if audioRecorder?.isRecording == true {            audioRecorder?.stop()            sender.setTitle("Record",for: .normal)        }        else {            startRecording()            sender.setTitle("Stop",for: .normal)        }    }    func verifyRecordPermission() {        let permission = AVAudioSession.sharedInstance().recordPermission()        switch permission {        case .denIEd:            print("recording not allowed")        case .granted:            print("recording allowed")        default:            AVAudioSession.sharedInstance().requestRecordPermission() { (granted) -> VoID in                print("recording granted:\(granted)")            }        }    }    func startRecording() {        guard AVAudioSession.sharedInstance().recordPermission() == .granted else {            return        }        let documentsPath = NSSearchPathForDirectorIEsInDomains(.documentDirectory,.userDomainMask,true)[0]        let audioUrl = URL(fileURLWithPath: "\(documentsPath)/audio.aac")        let session = AVAudioSession.sharedInstance()        do {            try session.setcategory(AVAudioSessioncategoryRecord)            try session.setActive(true)            try audioRecorder = AVAudioRecorder(url: audioUrl,settings: [AVFormatIDKey: Int(kAudioFormatMPEG4AAC),AVSampleRateKey: 24000.0,AVNumberOfChannelsKey: 1 as NSNumber,AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue])        } catch {            // handle error...            return        }        guard let audioRecorder = audioRecorder else {            return        }        audioRecorder.preparetoRecord()        audioRecorder.record()    }    func stop(session: AVAudioSession = AVAudioSession.sharedInstance()) {        audioRecorder?.stop()        audioRecorder = nil        do {            try session.setActive(false)        } catch {            // handle session errors        }    }}
总结

以上是内存溢出为你收集整理的ios – AVAudioRecorder记录流音频全部内容,希望文章能够帮你解决ios – AVAudioRecorder记录流音频所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1099769.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存