Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Agora无法使用iOS Swift录制通话_Ios_Swift_Avfoundation_Agora.io - Fatal编程技术网

Agora无法使用iOS Swift录制通话

Agora无法使用iOS Swift录制通话,ios,swift,avfoundation,agora.io,Ios,Swift,Avfoundation,Agora.io,我在这里遵循文档:并实现一个基本的记录。这是我的代码: func startRecording(){ let filename = getDocumentsDirectory().appendingPathComponent("\(APP_NAME)\(now()).WAV") let str = String(describing: filename) self.recordingPath = str

我在这里遵循文档:并实现一个基本的记录。这是我的代码:

    func startRecording(){
        let filename = getDocumentsDirectory().appendingPathComponent("\(APP_NAME)\(now()).WAV")
        let str = String(describing: filename)
        self.recordingPath = str
        agoraKit?.startAudioRecording(str, quality: .high)
    }


    func stopRecording(){
     
        agoraKit?.stopAudioRecording()
        
        // get audio file
        guard let audioUrl = URL(string: self.recordingPath) as? URL else { return }
        
        DispatchQueue.main.asyncAfter(deadline: .now() + 2.0 ) { [weak self] in

            // getdata
            do {
                let myData = try Data(contentsOf: audioUrl)
                print(myData.count, myData)
            } catch {
                print(error)
            }

        }        

    }
    
private func getDocumentsDirectory() -> URL {
    let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
    return paths[0]
}
但是我得到了错误:
文件“Whisper1608949569.WAV”无法打开,因为没有这样的文件

完整信息:

file:///var/mobile/Containers/Data/Application/1F682ABD-153C-4DFD-BFF4-

02C1CE6F9A4C/Documents/Whisper1608949569.WAV
Error Domain=NSCocoaErrorDomain Code=260 "The file “Whisper1608949569.WAV” couldn’t be opened because there is no such file." UserInfo={NSFilePath=/var/mobile/Containers/Data/Application/1F682ABD-153C-4DFD-BFF4-02C1CE6F9A4C/Documents/Whisper1608949569.WAV, NSUnderlyingError=0x281e33f60 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}
我是否无法正确访问该文件

以下是我初始化agora客户端的方式:

    self.agoraKit = AgoraRtcEngineKit.sharedEngine(withAppId: AppID, delegate: self)
    agoraKit?.delegate = self
    agoraKit?.enableWebSdkInteroperability(true)

    // sample loudest speaker every second
    agoraKit?.enableAudioVolumeIndication(1000, smooth: 3, report_vad: true)

    agoraKit?.enableAudio()
    
    // config for livecast to start
    agoraKit?.setChannelProfile(.liveBroadcasting)
    
    // set framrate and HD/SD
    agoraKit?.setVideoEncoderConfiguration( CONFIG_PRODUCTION )
    
    //agoraKit?.setDefaultAudioRouteToSpeakerphone(true)

我刚刚查看了您正在使用的文档中引用的文档,文档中说该方法现在已被弃用,您应该将此方法与附加的sampleRate参数一起使用:

:


同时检查startAudioRecording和stopAudioRecording的返回值是否返回0,表示成功。

文档是针对目标C。。但是我在找SWIFT,你看到了吗?在autocomplete中有额外的sampleRate参数的.startAudioRecording方法?它应该是这样的:
agoraKit?.startAudioRecording(str,sampleRate:32000,质量:。高)