Как сгенерировать сигнал для аудио AVSpeechSynthesizer?

Я пытаюсь использовать встроенный 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 Любые решения?


person Bharath    schedule 25.09.2018    source источник
comment
Проверьте эту ссылку, которая может помочь вамhttps://stackoverflow.com/questions/42906845/get-voice-amplitude-from-sfspeechrecognizer   -  person Amalnath N D    schedule 24.10.2018