检查Speaker是否在iOS中以编程方式工作

时间:2019-01-24 10:04:40

标签: ios iphone swift avfoundation avaudioplayer

我想检查我的扬声器是否正常工作。

目前,我正在播放音频并进行录制,并检查是否使用peakPower录制了声音。

recorder?.updateMeters()
let peakRecordedValue: Float = recorder?.peakPower(forChannel: 1) ?? 0.0
if peakRecordedValue <= 0 && peakRecordedValue >= -30 {
    // Speaker is working
}

对我来说很好。但有一个问题。如果麦克风无法正常工作或我们在录制过程中遇到问题,则它将无法接收声音,因此无法检查麦克风或扬声器是否有此问题。

是否有其他方法可以检查扬声器是否发出声音,而无需使用其他资源,例如麦克风。

PS:AVAudioSessionPortBuiltInSpeaker是当前端口。

0 个答案:

没有答案