Я пытаюсь использовать встроенную в Apple TextToVoice
, т. Е. AVSpeechSynthesizer
Я пытаюсь нарисовать форму волны на основе аудиофайла, используя AVAudio
var scale =0.0 if (avAudio? .IsPlaying)!{avAudio? .updateMeters () var power = 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
Какие-нибудь решения?