我想检查我的扬声器是否正常工作。
目前,我正在播放音频并进行录制,并检查是否使用peakPower
录制了声音。
recorder?.updateMeters()
let peakRecordedValue: Float = recorder?.peakPower(forChannel: 1) ?? 0.0
if peakRecordedValue <= 0 && peakRecordedValue >= -30 {
// Speaker is working
}
对我来说很好。但有一个问题。如果麦克风无法正常工作或我们在录制过程中遇到问题,则它将无法接收声音,因此无法检查麦克风或扬声器是否有此问题。
是否有其他方法可以检查扬声器是否发出声音,而无需使用其他资源,例如麦克风。
PS:AVAudioSessionPortBuiltInSpeaker
是当前端口。