音量无故降低
Sound volume decreasing for no apparent reason
我有一个使用 SwiftUI 的 iOS 应用程序。它处理一些声音文件并执行一些录音。这是做录音工作的功能:
func recordAudio(to file: String, for duration: TimeInterval) {
let audioSession:AVAudioSession = AVAudioSession.sharedInstance()
do {try audioSession.setCategory(.playAndRecord, mode: .default)
try audioSession.setActive(true)
let audioFilename = getDocumentsDirectory().appendingPathComponent(file+".m4a"),
audioURL = URL(fileURLWithPath: audioFilename),
settings = [
AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
AVSampleRateKey: 44100,
AVNumberOfChannelsKey: 2,
AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
]
audioRecorder = try AVAudioRecorder(url: audioURL, settings: settings)
audioRecorder.delegate = self
audioRecorder.record(forDuration: TimeInterval(2.0))
} catch let error as NSError {
print("Failed -- Recording !!! -> \(error)")
}
}
至此,基本可以了,但是有一个奇怪的行为,我既不理解也不喜欢。
问题是:
当我启动应用程序并播放声音文件时,音量适合我的口味。
然后,在不调整音量的情况下,我进行了一些录音(使用上面的功能)。
最后在录音完成后,回到刚才播放的文件重新播放;音量莫名其妙的变小了,我也不知道为什么。
我的函数中有什么可以解释的吗?
或者有人能想到的其他原因?
如果我重新启动应用程序,音量会自动恢复正常。
有关信息,我正在使用 iOS 14.4.2 和 Xcode 12.4.
在.playAndRecord
模式下录制后,音频会话将在播放期间降低音量。录制后,明确设置为 .playback
之类的内容以获得您期望的音量。
我有一个使用 SwiftUI 的 iOS 应用程序。它处理一些声音文件并执行一些录音。这是做录音工作的功能:
func recordAudio(to file: String, for duration: TimeInterval) {
let audioSession:AVAudioSession = AVAudioSession.sharedInstance()
do {try audioSession.setCategory(.playAndRecord, mode: .default)
try audioSession.setActive(true)
let audioFilename = getDocumentsDirectory().appendingPathComponent(file+".m4a"),
audioURL = URL(fileURLWithPath: audioFilename),
settings = [
AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
AVSampleRateKey: 44100,
AVNumberOfChannelsKey: 2,
AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
]
audioRecorder = try AVAudioRecorder(url: audioURL, settings: settings)
audioRecorder.delegate = self
audioRecorder.record(forDuration: TimeInterval(2.0))
} catch let error as NSError {
print("Failed -- Recording !!! -> \(error)")
}
}
至此,基本可以了,但是有一个奇怪的行为,我既不理解也不喜欢。
问题是:
当我启动应用程序并播放声音文件时,音量适合我的口味。 然后,在不调整音量的情况下,我进行了一些录音(使用上面的功能)。 最后在录音完成后,回到刚才播放的文件重新播放;音量莫名其妙的变小了,我也不知道为什么。
我的函数中有什么可以解释的吗? 或者有人能想到的其他原因?
如果我重新启动应用程序,音量会自动恢复正常。 有关信息,我正在使用 iOS 14.4.2 和 Xcode 12.4.
在.playAndRecord
模式下录制后,音频会话将在播放期间降低音量。录制后,明确设置为 .playback
之类的内容以获得您期望的音量。