Mapbox Speech conecta su aplicación iOS, MacOS, TVOS o WATLOS a la API de voz de Mapbox. Haga las instrucciones de turno de la API de las instrucciones de Mapbox y léalas en voz alta naturalmente en varios idiomas. Esta biblioteca está diseñada específicamente para funcionar con Mapbox-Directions-Swift como parte del SDK de navegación de mapbox para iOS.
Esta biblioteca es compatible con aplicaciones escritas en Swift. La versión 2.0 fue la última versión de esta biblioteca en admitir aplicaciones escritas en Objective-C o AppleScript.
Especifique la siguiente dependencia en su Cartfile de Carthage:
github "mapbox/mapbox-speech-swift" ~> 2.1
O en tu cocoapods podfile:
pod 'MapboxSpeech' , '~> 2.1'O en su paquete Swift Package Manager.swift:
. package ( url : " https://github.com/mapbox/mapbox-speech-swift.git " , from : " 2.1.1 " ) Luego import MapboxSpeech o @import MapboxSpeech; .
Necesitará un token de acceso MAPBOX para usar la API. Si ya está utilizando el SDK de mapas de mapbox para iOS o MacOS SDK, Mapbox Speech reconoce automáticamente su token de acceso, siempre que lo haya colocado en la clave MBXAccessToken de la información de información de su aplicación.
La principal clase de síntesis del discurso es SpeechSynthesizer . Cree un objeto de sintetizador de voz utilizando su token de acceso:
import MapboxSpeech
let speechSynthesizer = SpeechSynthesizer ( accessToken : " <#your access token#> " ) Alternativamente, puede colocar su token de acceso en la clave MBXAccessToken de la información de su aplicación.
// main.swift
let speechSynthesizer = SpeechSynthesizer . shared Con el objeto Directions en la mano, construya un objeto SpeechOptions o MBSPeechoptions y páselo en el SpeechSynthesizer.audioData(with:completionHandler:) Método.
// main.swift
let options = SpeechOptions ( text : " hello, my name is Bobby " )
speechSynthesizer . audioData ( with : options ) { ( data : Data ? , error : NSError ? ) in
guard error == nil else {
print ( " Error calculating directions: ( error! ) " )
return
}
// Do something with the audio!
}