音声による指示 音声ガイドは 、音声パッケージとして HERE SDK で利用できます。 音声パッケージには、事前パッケージ化された形式と、音声カタログからダウンロード可能な形式の 2 種類があります。 ナビゲーションの指示に使用する音声パッケージを設定できます。 ただし、パッケージが設定されていない場合 、 HERE SDK は ナビゲーションの音声言語を US English に設定 します。この言語は HERE SDK にあらかじめパッケージされています。
注 : 音声による指示は、ナビゲーションモードでのみ運転できます。 歩行者ナビゲーションモードのユーザーは、各操作の変更時に音声によるビープ音と振動の警告を受け取る。 ビープ音または音声による指示が発生すると、 HERE SDK が他の音声の音量を一時的に下げます。
NMAVoicePackage クラス NMAVoicePackage
クラスは、ナビゲーションガイダンスに使用できる音声をカプセル化します。 名前、性別、話し言葉などの情報が含まれています。 この情報には、クラスのプロパティを使用してアクセスできます。
NMAVoiceCatalog
シングルトンインスタンスを使用して、ロードされた NMAVoicePackage
インスタンスのリストにアクセスできます。 複数の音声パッケージをデバイスにロードできますが、ナビゲーション音声再生用に選択できるのは 1 つだけです。 NMAVoicePackage
は、 voicePackage
プロパティを使用して NMANavigationManager
に追加できます。 各 ID NMAVoicePackage
は packageId
、プロパティ内で一意の ID で表されます。
HERE SDK では、音声読み上げと事前録音の 2 種類の音声パッケージがサポートされています。 あらかじめ録音された音声スキンでは、「 300 メートル先で右折」などの基本的な操作手順が提供され、テキスト読み上げの音声では、「 300 メートル先で右折してグランビルストリートに入る」などの通りの名前を音声で案内することもできます。
NMAVoiceCatalog クラスおよび NMAVoiceCatalogDelegate プロトコル NMAVoiceCatalog
クラスは、ローカルデバイスから音声パッケージファイルにアクセスするために使用されます。
NMAVoiceCatalog
オブジェクトインスタンスは、次の呼び出しによって取得できます。
NMAVoiceCatalog* voiceCatalog = [NMAVoiceCatalog sharedVoiceCatalog];
installedVoicePackages
次に、プロパティを使用
NMAVoicePackage
して、デバイスに保存されているのリストを取得できます。 デフォルト
では、 HERE SDK には多数の事前インストール済み音声パッケージが含まれています。
voicePackages
プロパティを使用して、音声パッケージサーバからダウンロードできる音声パッケージのリストを取得することもできます。 サーバーからパッケージの最新のリストを取得するに
updateVoicePackages
は、を呼び出します。
NMAVoiceCatalogDelegate
特定の非同期 NMAVoiceCatalog
操作に関連するコールバックを受信するために使用されます。 これらの操作の例としては、カタログの更新や音声パッケージのインストールがあります。
音声パッケージを選択してナビゲーションを開始しています NMAVoicePackage
次の例では、を Navigation Manager で使用する方法を示します。
NMAVoiceCatalog
共有オブジェクトインスタンスを取得して取得します。 NMAVoiceCatalog* voiceCatalog = [NMAVoiceCatalog sharedVoiceCatalog];
NMAVoiceCatalogDelegate
をインプリメントし、 Using delegate
プロパティに NMAVoiceCatalog
を追加します。 次に、を呼び出し updateVoiceCatalog
て、音声パッケージのカタログを取得します。 この操作が完了すると、コールバック to voiceCatalog:didUpdateWithError:
デリゲートメソッドが発生します。 [voiceCatalog updateVoiceCatalog];
のリストを使用 voicePackages
して、目的の音声パッケージを探します。 インストールされている音声パッケージのリストに音声パッケージがまだ含まれていない場合はinstalledVoicePackages
、インストールします()。 インストール操作が完了すると、コールバック to voiceCatalog:didInstallPackage:withError
デリゲートメソッドが実行されます。 [voiceCatalog installVoicePackage:selectedPackage]
パッケージがインストールされたら、に設定 NMANavigationManager
します。 [NMANavigationManager sharedNavigationManager].voicePackage = selectedPackage;
NMARoute
から計算を取得 NMACoreRouter
します。 この方法の詳細については、「ルーティング 」セクションのコードサンプルを参照してください。 ユーザーの選択に応じてナビゲーションを開始します。 NSError* error = [[NMANavigationManager sharedNavigationManager] startTurnByTurnNavigationWithRoute:calculatedRoute];
オーディオの再生を制御しています 音声 指示などの HERE SDK ナビゲーションオーディオを再生するタイミングの制御がアプリケーションによって必要になる場合があります。 たとえば、別のオーディオクリップを再生するには、オーディオフィードバックを中断する必要がある場合があります。 これを行うには cancelVoiceFeedback
、のメソッド NMANavigationManager
を使用します。 このメソッドが呼び出されると、現在の音声フィードバックが停止し、キューに入っているフィードバックもすべて消去されます。
その他のシナリオでは、ナビゲーションオーディオを一定の期間非表示にする必要がある場合があります。 これを行うには、 NMANavigationManagerDelegate
で navigationManager:shouldPlayVoiceFeedbackWithText:
コールバックを実装し、 NO
に戻ります。 このイベントは、オーディオフィードバックの再生準備が完了するとトリガー NO
され、 RETURN はこのフィードバックの再生をスキップします。