MapboxSpeech-pre 2.0.0-rc.1

MapboxSpeech-pre 2.0.0-rc.1

MapboxVictor Kononov维护。



MapboxSpeech-pre 2.0.0-rc.1

Mapbox Speech

CircleCI codecov Carthage compatible CocoaPods SPM compatible

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" ~> 1.0

或在您的CocoaPods Podfile中

pod 'MapboxSpeech', '~> 1.0'

或在您的Swift Package Manager Package.swift中

.package(url: "https://github.com/mapbox/mapbox-speech-swift.git", from: "1.0.0")

然后使用import MapboxSpeech@import MapboxSpeech;

用法

您需要一个Mapbox访问令牌才能使用此API。如果您已经在使用Mapbox Maps SDK for iOSmacOS 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!
}