首页 > 解决方案 > 检查扬声器是否在 iOS 中以编程方式工作

问题描述

我想检查我的扬声器是否以编程方式正常工作。

目前我正在播放音频并录制它并检查是否使用peakPower.

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

它对我来说工作得很好。但有一个问题。如果麦克风不工作或我们在录制时遇到问题,那么它将无法接收声音,我无法检查此问题是否与麦克风或扬声器有关。

有没有其他方法可以在不使用麦克风等其他资源的情况下检查声音是否来自扬声器。

PS:AVAudioSessionPortBuiltInSpeaker是当前端口。

标签: iosiphoneswiftavfoundationavaudioplayer

解决方案


推荐阅读