2017-06-14 1 views
1

Ich habe eine App in Swift erstellt, die Twilio & CallKit verwendet, um ausgehende Anrufe zu tätigen. Während des Telefonats möchte ich über den Ohrlautsprecher des Telefons Audio wiedergeben, z. B. "Sie haben diesen Anruf seit 2 Minuten getätigt ..." oder mindestens einen der integrierten System-Audio-Töne.Audio während des Telefonats abspielen

Es würde funktionieren ähnlich, wie Navigations Anwendungen arbeiten, wenn sie Richtungen zu melden, wenn Sie ein Gespräch führen

Wie kann ich dies geschehen?

Ich habe mir einige ähnliche Fragen hier angesehen, aber ich konnte keine Antwort oder aktualisierte Antwort bekommen.

Antwort

1

Eine Möglichkeit gefunden, dies zu tun, ist mit dem eingebauten AVSpeechSynthesizer. Schauen Sie sich den Code unten

public func sayMessage(message: String) { 
    do { 
     try setCategory(AVAudioSessionCategoryPlayAndRecord) 
     try setActive(true) 
     let synth = AVSpeechSynthesizer() 
     print("Routes:: \(currentRoute.outputs)") 
     if let currentChannels = currentRoute.outputs.first?.channels { 
      synth.outputChannels = currentChannels 
      print("Found channels \(currentChannels)") 
     } 
     let myUtterance = AVSpeechUtterance(string: message) 
     synth.speak(myUtterance) 

    } catch { 
     print(error) 
    } 
} 
+0

Sie auch 'AVAudioPlayer' verwenden könnte einen aufgenommenen Ton zu spielen, wie hier: https://stackoverflow.com/questions/24043904/creating-and-playing-a-sound-in -schnell – philnash

Verwandte Themen