Mapbox Speech
Mapbox Speech 可将您的 iOS、macOS、tvOS 或 watchOS 应用程序连接到 Mapbox Voice API。从 Mapbox Directions API 获取转向指令并以多种语言自然地读出。此库专门设计为与 mapbox-directions-swift 配合使用,作为 Mapbox Navigation SDK for iOS 的一部分。
此库与用 Swift编写的应用程序兼容。版本 2.0 是此库支持用 Objective-C 或 AppleScript 编写的应用程序的最后一个版本。
入门
在您的 Carthage Cartfile 中指定以下依赖
github "mapbox/mapbox-speech-swift" ~> 2.1
或者在您的 CocoaPods Podfile 中
pod 'MapboxSpeech', '~> 2.1'
或者在您的 Swift Package Manager Package.swift 中
.package(url: "https://github.com/mapbox/mapbox-speech-swift.git", from: "2.1.1")
然后 import MapboxSpeech
或 @import MapboxSpeech;
。
使用方法
要使用 API,您需要一个 Mapbox 访问令牌。如果您已经使用 Mapbox Maps SDK for iOS 或 macOS SDK,只要将访问令牌置于应用程序 Info.plist 文件的 MBXAccessToken
密钥中,Mapbox Speech 就会自动识别您的访问令牌。
基本内容
主要的语音合成类是SpeechSynthesizer
。使用您的访问令牌创建语音合成对象
import MapboxSpeech
let speechSynthesizer = SpeechSynthesizer(accessToken: "<#your access token#>")
或者,您可以将访问令牌放置在应用程序的Info.plist文件中的MBXAccessToken
键,然后使用共享的语音合成对象
// main.swift
let speechSynthesizer = SpeechSynthesizer.shared
手头有了方向对象后,构建一个SpeechOptions或MBSpeechOptions对象,将其传递到SpeechSynthesizer.audioData(with:completionHandler:)
方法中。
// 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!
}