Mapbox 语音 将您的 iOS、macOS、tvOS 或 watchOS 应用程序连接到 Mapbox 语音 API。 从 Mapbox 导航 API 获取转向指引,并以自然的语音在多种语言中朗读。 该库专门设计用于与 mapbox-directions-swift 配合使用,作为 Mapbox 导航 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;
。
您需要一个 Mapbox 访问令牌 才能使用该 API。 如果您已经在使用 Mapbox Maps SDK for iOS 或 macOS SDK,只要您将访问令牌放置在应用程序的 Info.plist 文件的 MBXAccessToken
键中,Mapbox 语音 就会自动识别您的访问令牌。
主要的语音合成类是 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!
}