【发布时间】:2021-09-08 18:34:12
【问题描述】:
我正在从 AgoraKit 的示例中创建一个音频调用应用程序,并且我正在尝试为其添加录音功能,但我遇到了问题。我的录音文件每次都是空的。 AgoraKit 创建了一个录音文件,但似乎无法填充数据。
func initializeAgoraEngine() {
// Initializes the Agora engine with your app ID.
agoraKit = AgoraRtcEngineKit.sharedEngine(withAppId: AppID, delegate: self)
let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let audioURL = documentsDirectory.appendingPathComponent("agorasdk.log")
agoraKit.setLogFile(audioURL.path)
}
func joinChannel() {
// Allows a user to join a channel.
agoraKit.joinChannel(byToken: Token, channelId: "demoChannel", info: nil, uid: nil) { [unowned self] (sid, uid, elapsed) -> Void in
// Joined channel "demoChannel"
self.agoraKit.setEnableSpeakerphone(true)
UIApplication.shared.isIdleTimerDisabled = true
let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let audioURL = documentsDirectory.appendingPathComponent("audio.aac")
let config = AgoraAudioRecordingConfiguration()
config.filePath = audioURL.path
config.recordingQuality = .medium
config.recordingPosition = .mixedRecordingAndPlayback //tried other options no luck
config.recordingSampleRate = 16000//tried 32000 and 44100
let result = agoraKit.startAudioRecording(withConfig: config) //result always 0 according to documentation that is success
}
}
毕竟我调用了 stopAudioRecording() 并且它也返回 0。所以根据文档,一切都很好,但是文件是空的。
【问题讨论】: