Я пытаюсь использовать встроенный Apple TextToVoice
т.е. AVSpeechSynthesizer
Я пытаюсь нарисовать форму волны на основе аудиофайла, используя AVAudio
var scale = 0.0, если (avAudio?.isPlaying)! { avAudio?.updateMeters() переменная мощность = 0,0
for x in 0..<avAudio!.numberOfChannels {
power += Double(exactly: (avAudio?.averagePower(forChannel: x))!)!
}
power /= Double((SoundEffect?.numberOfChannels)!)
scale = Double(powf(10, (Float(0.05 * power))))
if power == -120
{
return
}
if(lastScale<scale){
if scale>0.44{
scale = 0.45
}
animateView.AnimateBar(frequency: CGFloat(scale))
}
lastScale = scale
}
Но я не вижу возможности получить averagePower
из frequency
аудио, воспроизводимого с помощью AVSpeechSynthesizer
Даже AVAudioSession.sharedInstance().isOtherAudioPlaying
возвращается false
Любые решения?