• java.lang.Object
    • com.here.sdk.navigation.SpatialNotificationDetails

  • public final class SpatialNotificationDetails
    extends java.lang.Object

    This class provides all the information for a spatial text notification, including the maneuver data and extra data which is required to set the direction of spatialization of the audio cue.

    • Field Detail

      • initialAzimuthInDegrees

        public double initialAzimuthInDegrees

        Initial desired angular position of the upcoming audio cue. For example, for a maneuver such as "Turn right on" (ManeuverAction.RightTurn) we want to create a spatial audio arc trajectory from the front to the right, mimicking the maneuver geometry. In this case, it is good practice to start the trajectory from an initial azimuth that is located slightly on the opposite direction of the maneuver (e.g. slightly starting from "front-left") and terminate the trajectory fully on the right side. The initial azimuth angle of such a trajectory would be, for example, -5.0 (slightly front-left). This azimuth value is needed to set the position of the audio renderer before starting to play the audio cue to avoid unwanted audio "jumps". The orientation in space for initialAzimuthInDegrees can be represented by the following angular values:

        FrontRightRearLeft
        +90°+- 180-90°
      • audioCuePanning

        @NonNull
        public SpatialAudioCuePanning audioCuePanning

        Object to start the angular panning when spatialization of the text notification is desired

      • estimatedAudioCueDuration

        @NonNull
        public Duration estimatedAudioCueDuration

        Estimation of the required time to play an audio cue at speech rate 1.0. For example the cue "Turn right on Name-Of-A-Street" will playback over an X number of milliseconds. Therefore, an estimation of this audio cue duration is needed to correctly sync the movement of sound to the cue (so that audio movement and audio duration match).

    • Constructor Detail

      • SpatialNotificationDetails

        public SpatialNotificationDetails​(double initialAzimuthInDegrees,
                                          @NonNull
                                          SpatialAudioCuePanning audioCuePanning,
                                          @NonNull
                                          Duration estimatedAudioCueDuration)

        Creates a new instance.

        Parameters:
        initialAzimuthInDegrees -

        Initial desired angular position of the upcoming audio cue. For example, for a maneuver such as "Turn right on" (ManeuverAction.RightTurn) we want to create a spatial audio arc trajectory from the front to the right, mimicking the maneuver geometry. In this case, it is good practice to start the trajectory from an initial azimuth that is located slightly on the opposite direction of the maneuver (e.g. slightly starting from "front-left") and terminate the trajectory fully on the right side. The initial azimuth angle of such a trajectory would be, for example, -5.0 (slightly front-left). This azimuth value is needed to set the position of the audio renderer before starting to play the audio cue to avoid unwanted audio "jumps". The orientation in space for initialAzimuthInDegrees can be represented by the following angular values:

        FrontRightRearLeft
        +90°+- 180-90°
        audioCuePanning -

        Object to start the angular panning when spatialization of the text notification is desired

        estimatedAudioCueDuration -

        Estimation of the required time to play an audio cue at speech rate 1.0. For example the cue "Turn right on Name-Of-A-Street" will playback over an X number of milliseconds. Therefore, an estimation of this audio cue duration is needed to correctly sync the movement of sound to the cue (so that audio movement and audio duration match).

    • Method Detail

      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object