react-native-maplibre-lite 0.2.5 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -12
- package/lib/module/components/MapView.js +19 -22
- package/lib/module/components/MapView.js.map +1 -1
- package/lib/module/components/NavigatorVoiceControl.js +9 -10
- package/lib/module/components/NavigatorVoiceControl.js.map +1 -1
- package/lib/module/components/navigatorVoicePlayer.js +2 -4
- package/lib/module/components/navigatorVoicePlayer.js.map +1 -1
- package/lib/module/components/types.js +6 -2
- package/lib/module/components/types.js.map +1 -1
- package/lib/module/components/useNavigatorTts.js +154 -0
- package/lib/module/components/useNavigatorTts.js.map +1 -0
- package/lib/module/components/webMapBuild.js +1 -1
- package/lib/module/components/webMapBuild.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/components/MapView.d.ts +8 -5
- package/lib/typescript/src/components/MapView.d.ts.map +1 -1
- package/lib/typescript/src/components/NavigatorVoiceControl.d.ts +6 -7
- package/lib/typescript/src/components/NavigatorVoiceControl.d.ts.map +1 -1
- package/lib/typescript/src/components/navigatorVoicePlayer.d.ts.map +1 -1
- package/lib/typescript/src/components/types.d.ts +8 -4
- package/lib/typescript/src/components/types.d.ts.map +1 -1
- package/lib/typescript/src/components/useNavigatorTts.d.ts +28 -0
- package/lib/typescript/src/components/useNavigatorTts.d.ts.map +1 -0
- package/lib/typescript/src/components/webMapBuild.d.ts +1 -1
- package/lib/typescript/src/components/webMapBuild.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/resources/map.html +42 -43
- package/src/components/MapView.tsx +34 -25
- package/src/components/NavigatorVoiceControl.tsx +13 -14
- package/src/components/navigatorVoicePlayer.tsx +2 -4
- package/src/components/types.ts +13 -4
- package/src/components/useNavigatorTts.ts +195 -0
- package/src/components/webMapBuild.ts +1 -1
- package/src/index.tsx +2 -0
- package/lib/module/components/navigatorVoiceCatalog.js +0 -261
- package/lib/module/components/navigatorVoiceCatalog.js.map +0 -1
- package/lib/module/components/navigatorVoiceKeys.js +0 -14
- package/lib/module/components/navigatorVoiceKeys.js.map +0 -1
- package/lib/module/components/useNavigatorVoice.js +0 -78
- package/lib/module/components/useNavigatorVoice.js.map +0 -1
- package/lib/typescript/src/components/navigatorVoiceCatalog.d.ts +0 -50
- package/lib/typescript/src/components/navigatorVoiceCatalog.d.ts.map +0 -1
- package/lib/typescript/src/components/navigatorVoiceKeys.d.ts +0 -10
- package/lib/typescript/src/components/navigatorVoiceKeys.d.ts.map +0 -1
- package/lib/typescript/src/components/useNavigatorVoice.d.ts +0 -20
- package/lib/typescript/src/components/useNavigatorVoice.d.ts.map +0 -1
- package/src/components/navigatorVoiceCatalog.ts +0 -316
- package/src/components/navigatorVoiceKeys.ts +0 -132
- package/src/components/useNavigatorVoice.ts +0 -96
package/README.md
CHANGED
|
@@ -131,9 +131,10 @@ Navigator mode adds a route line, a current-position arrow, a driving HUD and Gr
|
|
|
131
131
|
The route line and position arrow are drawn inside the WebView, while the
|
|
132
132
|
instruction HUD, the recenter / voice floating buttons and voice playback are
|
|
133
133
|
rendered natively by `MapView`. The WebView streams a HUD view-model and
|
|
134
|
-
|
|
135
|
-
(`react-native-svg`)
|
|
136
|
-
owning voice selection, volume and persistence
|
|
134
|
+
full voice phrase text to the native side; the native side renders the UI
|
|
135
|
+
(`react-native-svg`), calls your `ttsHandler` to obtain audio URLs and plays them
|
|
136
|
+
(`react-native-video`), owning voice selection, volume and persistence
|
|
137
|
+
(`AsyncStorage`). Tapping the
|
|
137
138
|
recenter button sends a command back to the WebView to recenter the camera.
|
|
138
139
|
|
|
139
140
|
```tsx
|
|
@@ -180,15 +181,33 @@ export function NavigatorScreen() {
|
|
|
180
181
|
|
|
181
182
|
Use `setNavigatorPosition(latitude, longitude)` to feed real GPS updates. The WebView side snaps the position to the route, marks arrival, or reroutes when the point is too far from the current route. `pickNavigatorPosition()` is a development helper: the next tap on the map becomes the current navigator position.
|
|
182
183
|
|
|
183
|
-
### Voice guidance (
|
|
184
|
+
### Voice guidance (TTS)
|
|
184
185
|
|
|
185
|
-
Pass `
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
186
|
+
Pass `ttsVoices` and `ttsHandler` on `MapView` to enable voice guidance and the
|
|
187
|
+
native voice floating button. The WebView builds localized phrase text from
|
|
188
|
+
embedded dictionaries (`ru` / `en`, keyed by `navigatorLang`) and sends the full
|
|
189
|
+
string to React Native. Your handler synthesizes audio and returns a URL; the
|
|
190
|
+
library plays it and caches URLs per voice and text.
|
|
191
|
+
|
|
192
|
+
```tsx
|
|
193
|
+
<MapView
|
|
194
|
+
navigator
|
|
195
|
+
navigatorLang="ru"
|
|
196
|
+
ttsVoices={{ silero_kseniya: 'Ксения', silero_aidar: 'Айдар' }}
|
|
197
|
+
ttsHandler={async (text, voiceKey) => {
|
|
198
|
+
const res = await fetch('https://your-tts.example/speak', {
|
|
199
|
+
method: 'POST',
|
|
200
|
+
headers: { 'Content-Type': 'application/json' },
|
|
201
|
+
body: JSON.stringify({ text, voice: voiceKey }),
|
|
202
|
+
});
|
|
203
|
+
const { url } = (await res.json()) as { url: string };
|
|
204
|
+
return url;
|
|
205
|
+
}}
|
|
206
|
+
/* … */
|
|
207
|
+
/>
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
See [`webProject/NAVIGATION_VOICE.md`](webProject/NAVIGATION_VOICE.md) for phrase keys and announcement rules.
|
|
192
211
|
|
|
193
212
|
### Navigator chrome (`navigatorChrome`)
|
|
194
213
|
|
|
@@ -249,7 +268,8 @@ and the simulation stops automatically on arrival. Requires `navigator: true`.
|
|
|
249
268
|
| `navigatorLang` | `'ru' \| 'en'` | no | Navigator HUD and instruction language. Defaults to `ru` |
|
|
250
269
|
| `navigatorProfile` | `NavigatorProfile \| string` | no | GraphHopper routing `profile` (`car`, `bike`, `foot`, …). Unknown → `car` |
|
|
251
270
|
| `navigatorChrome` | `NavigatorChromeParams` | no | Navigator colors: route line, arrow accent, native HUD/FAB theme (see section above) |
|
|
252
|
-
| `
|
|
271
|
+
| `ttsVoices` | `Record<string, string>` | no | TTS voice key → user-visible label. With `ttsHandler`, enables voice guidance + FAB |
|
|
272
|
+
| `ttsHandler` | `(text, voiceKey) => Promise<string>` | no | Synthesize phrase text to an audio URL for playback |
|
|
253
273
|
| `navigatorSimulate` | `boolean` | no | Dev-only: auto-drive the marker along the built route (trip simulation). Suspends real GPS forwarding while on |
|
|
254
274
|
| `onReady` | `() => void` | no | Called after the WebView map is initialized |
|
|
255
275
|
| `onMoveStart` | `(params) => void` | no | `movestart` event |
|
|
@@ -11,10 +11,9 @@ import { NavigatorHud } from "./NavigatorHud.js";
|
|
|
11
11
|
import { NavigatorRecenterButton } from "./NavigatorRecenterButton.js";
|
|
12
12
|
import { NavigatorVoiceControl } from "./NavigatorVoiceControl.js";
|
|
13
13
|
import { resolveNavigatorChromeTheme } from "./navigatorChromeTheme.js";
|
|
14
|
-
import { keysToClipUrls, volumeLevelToGain } from "./navigatorVoiceCatalog.js";
|
|
15
14
|
import { NavigatorVoicePlayer } from "./navigatorVoicePlayer.js";
|
|
16
15
|
import { navigatorUiStrings } from "./navigatorVoiceStrings.js";
|
|
17
|
-
import {
|
|
16
|
+
import { useNavigatorTts, volumeLevelToGain } from "./useNavigatorTts.js";
|
|
18
17
|
import { loadResources, getNativeMapHtmlUri } from "./utils.js";
|
|
19
18
|
import { MAP_HTML } from "./webMapBuild.js";
|
|
20
19
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -82,15 +81,13 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
82
81
|
/** View-model HUD маршрута, приходит из WebView (`navigatorHud`). */
|
|
83
82
|
const [hudState, setHudState] = useState(null);
|
|
84
83
|
const voicePlayerRef = useRef(null);
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
const voiceSupported = props.navigator === true && props.navigatorLang !== 'en';
|
|
88
|
-
const voice = useNavigatorVoice(voiceSupported ? props.navigatorVoiceUrl : undefined);
|
|
84
|
+
const ttsEnabled = props.navigator === true && props.ttsHandler != null && Object.keys(props.ttsVoices ?? {}).length > 0;
|
|
85
|
+
const tts = useNavigatorTts(ttsEnabled ? props.ttsVoices : undefined, ttsEnabled ? props.ttsHandler : undefined);
|
|
89
86
|
const chromeTheme = useMemo(() => resolveNavigatorChromeTheme(props.navigatorChrome), [props.navigatorChrome]);
|
|
90
87
|
const navigatorStrings = useMemo(() => navigatorUiStrings(props.navigatorLang), [props.navigatorLang]);
|
|
91
88
|
useEffect(() => {
|
|
92
|
-
voicePlayerRef.current?.setVolume(volumeLevelToGain(
|
|
93
|
-
}, [
|
|
89
|
+
voicePlayerRef.current?.setVolume(volumeLevelToGain(tts.volumeLevel));
|
|
90
|
+
}, [tts.volumeLevel]);
|
|
94
91
|
const handleNavigatorVoice = params => {
|
|
95
92
|
const player = voicePlayerRef.current;
|
|
96
93
|
if (!player) return;
|
|
@@ -98,10 +95,10 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
98
95
|
player.stop();
|
|
99
96
|
return;
|
|
100
97
|
}
|
|
101
|
-
if (params.action
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
98
|
+
if (params.action !== 'play' || !params.text?.trim()) return;
|
|
99
|
+
void tts.synthesize(params.text).then(url => {
|
|
100
|
+
if (url) player.playUrls([url]);
|
|
101
|
+
});
|
|
105
102
|
};
|
|
106
103
|
const coordsInMapRef = useRef({});
|
|
107
104
|
const markersClickHandlers = useRef({});
|
|
@@ -528,19 +525,19 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
528
525
|
theme: chromeTheme,
|
|
529
526
|
accessibilityLabel: navigatorStrings.recenterAria,
|
|
530
527
|
onPress: recenterNavigatorCamera
|
|
531
|
-
}),
|
|
528
|
+
}), ttsEnabled && /*#__PURE__*/_jsx(NavigatorVoiceControl, {
|
|
532
529
|
theme: chromeTheme,
|
|
533
530
|
strings: navigatorStrings,
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
voiceEnabled:
|
|
537
|
-
volumeLevel:
|
|
538
|
-
onSelectVoice:
|
|
539
|
-
onSelectVolume:
|
|
540
|
-
onDisable:
|
|
541
|
-
}),
|
|
531
|
+
voiceEntries: tts.voiceEntries,
|
|
532
|
+
selectedVoiceKey: tts.selectedVoiceKey,
|
|
533
|
+
voiceEnabled: tts.voiceEnabled,
|
|
534
|
+
volumeLevel: tts.volumeLevel,
|
|
535
|
+
onSelectVoice: tts.selectVoice,
|
|
536
|
+
onSelectVolume: tts.selectVolume,
|
|
537
|
+
onDisable: tts.disableVoice
|
|
538
|
+
}), ttsEnabled && /*#__PURE__*/_jsx(NavigatorVoicePlayer, {
|
|
542
539
|
ref: voicePlayerRef,
|
|
543
|
-
initialVolume: volumeLevelToGain(
|
|
540
|
+
initialVolume: volumeLevelToGain(tts.volumeLevel)
|
|
544
541
|
})]
|
|
545
542
|
})]
|
|
546
543
|
}), !inited && /*#__PURE__*/_jsx(MapPlaceholder, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","forwardRef","useContext","useEffect","useImperativeHandle","useMemo","useRef","useState","Platform","View","WebView","Geolocation","KeepAwake","MapPlaceholder","MapSelectPoint","NavigatorHud","NavigatorRecenterButton","NavigatorVoiceControl","resolveNavigatorChromeTheme","keysToClipUrls","volumeLevelToGain","NavigatorVoicePlayer","navigatorUiStrings","useNavigatorVoice","loadResources","getNativeMapHtmlUri","MAP_HTML","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","MapViewContext","useMapViewContext","ctx","Error","getBoundsFromCoords","coords","length","minLng","maxLng","minLat","maxLat","lng","lat","toWebMarkerParams","props","uniqueId","latitude","longitude","color","iconUrl","iconWidth","iconHeight","html","toWebPolylineParams","coordinates","width","toWebPolygonParams","fillColor","fillOpacity","strokeColor","strokeOpacity","strokeWidth","toWebRemoveParams","NAVIGATOR_GPS_FORWARD_MIN_MS","MapView","ref","webViewRef","inited","setInited","initedRef","current","hudState","setHudState","voicePlayerRef","voiceSupported","navigator","navigatorLang","voice","navigatorVoiceUrl","undefined","chromeTheme","navigatorChrome","navigatorStrings","setVolume","volumeLevel","handleNavigatorVoice","params","player","action","stop","voiceEnabled","manifest","clipBaseUrl","urls","keys","playUrls","coordsInMapRef","markersClickHandlers","mapSelectPointRef","performanceMode","OS","webViewSource","developerLocalhostBundleUrl","uri","useNativeMapHtml","fallbackPixelRatio","sendToWebView","message","__DEV__","console","log","postMessage","JSON","stringify","sendToWebViewRef","initMap","mapStyle","mapStyleText","parse","initParams","zoomEnabled","scrollEnabled","center","zoom","minZoom","maxZoom","antialias","crossSourceCollisions","fadeDuration","pixelRatio","simplifyStyle","aggressiveSimplifyStyle","maxPitch","renderWorldCopies","turboWhileMoving","debugMode","graphhopperUrl","navigatorProfile","function","updateMarkerClickHandler","propsMarker","onPress","addMarker","ignoreFitBounds","scheduleAutoFitBounds","removeMarker","addPolyline","propsPolyline","removePolyline","addPolygon","propsPolygon","removePolygon","autoFitBoundsTimeoutRef","autoFitBounds","clearTimeout","setTimeout","fitBounds","fitBoundsPadding","Object","values","flat","bounds","padding","duration","fitBoundsDuration","flyTo","flyToDuration","setNavigatorPoint","advanceNavigatorInstruction","setNavigatorPosition","accuracy","Number","isFinite","pickNavigatorPosition","recenterNavigatorCamera","setNavigatorSimulation","enabled","lastPropsRef","updateProps","then","onReceiveMessageFromWebView","data","msg","type","event","up","onMoveStart","onMoveEnd","down","onZoomStart","onZoomEnd","onIdle","onMapError","onNavigatorRouteSet","onNavigatorInstruction","onNavigatorPositionSet","onMapLiteError","onReady","handler","e","warn","navigatorSimulate","lastForwardedAt","watchId","watchPosition","position","now","Date","error","enableHighAccuracy","interval","fastestInterval","distanceFilter","maximumAge","clearWatch","style","children","Provider","value","flex","backgroundColor","originWhitelist","source","onMessage","nativeEvent","javaScriptEnabled","domStorageEnabled","showSelectPoint","pointerEvents","justifyContent","alignItems","top","left","height","selectPointColor","selectPointBackgroundColor","state","theme","pickHint","accessibilityLabel","recenterAria","strings","catalog","selectedDir","onSelectVoice","selectVoice","onSelectVolume","selectVolume","onDisable","disableVoice","initialVolume","placeholderTheme"],"sourceRoot":"../../../src","sources":["components/MapView.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createContext","forwardRef","useContext","useEffect","useImperativeHandle","useMemo","useRef","useState","Platform","View","WebView","Geolocation","KeepAwake","MapPlaceholder","MapSelectPoint","NavigatorHud","NavigatorRecenterButton","NavigatorVoiceControl","resolveNavigatorChromeTheme","NavigatorVoicePlayer","navigatorUiStrings","useNavigatorTts","volumeLevelToGain","loadResources","getNativeMapHtmlUri","MAP_HTML","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","MapViewContext","useMapViewContext","ctx","Error","getBoundsFromCoords","coords","length","minLng","maxLng","minLat","maxLat","lng","lat","toWebMarkerParams","props","uniqueId","latitude","longitude","color","iconUrl","iconWidth","iconHeight","html","toWebPolylineParams","coordinates","width","toWebPolygonParams","fillColor","fillOpacity","strokeColor","strokeOpacity","strokeWidth","toWebRemoveParams","NAVIGATOR_GPS_FORWARD_MIN_MS","MapView","ref","webViewRef","inited","setInited","initedRef","current","hudState","setHudState","voicePlayerRef","ttsEnabled","navigator","ttsHandler","Object","keys","ttsVoices","tts","undefined","chromeTheme","navigatorChrome","navigatorStrings","navigatorLang","setVolume","volumeLevel","handleNavigatorVoice","params","player","action","stop","text","trim","synthesize","then","url","playUrls","coordsInMapRef","markersClickHandlers","mapSelectPointRef","performanceMode","OS","webViewSource","developerLocalhostBundleUrl","uri","useNativeMapHtml","fallbackPixelRatio","sendToWebView","message","__DEV__","console","log","postMessage","JSON","stringify","sendToWebViewRef","initMap","mapStyle","mapStyleText","parse","initParams","zoomEnabled","scrollEnabled","center","zoom","minZoom","maxZoom","antialias","crossSourceCollisions","fadeDuration","pixelRatio","simplifyStyle","aggressiveSimplifyStyle","maxPitch","renderWorldCopies","turboWhileMoving","debugMode","graphhopperUrl","navigatorProfile","function","updateMarkerClickHandler","propsMarker","onPress","addMarker","ignoreFitBounds","scheduleAutoFitBounds","removeMarker","addPolyline","propsPolyline","removePolyline","addPolygon","propsPolygon","removePolygon","autoFitBoundsTimeoutRef","autoFitBounds","clearTimeout","setTimeout","fitBounds","fitBoundsPadding","values","flat","bounds","padding","duration","fitBoundsDuration","flyTo","flyToDuration","setNavigatorPoint","advanceNavigatorInstruction","setNavigatorPosition","accuracy","Number","isFinite","pickNavigatorPosition","recenterNavigatorCamera","setNavigatorSimulation","enabled","lastPropsRef","updateProps","onReceiveMessageFromWebView","data","msg","type","event","up","onMoveStart","onMoveEnd","down","onZoomStart","onZoomEnd","onIdle","onMapError","onNavigatorRouteSet","onNavigatorInstruction","onNavigatorPositionSet","onMapLiteError","onReady","handler","e","warn","navigatorSimulate","lastForwardedAt","watchId","watchPosition","position","now","Date","error","enableHighAccuracy","interval","fastestInterval","distanceFilter","maximumAge","clearWatch","style","children","Provider","value","flex","backgroundColor","originWhitelist","source","onMessage","nativeEvent","javaScriptEnabled","domStorageEnabled","showSelectPoint","pointerEvents","justifyContent","alignItems","top","left","height","selectPointColor","selectPointBackgroundColor","state","theme","pickHint","accessibilityLabel","recenterAria","strings","voiceEntries","selectedVoiceKey","voiceEnabled","onSelectVoice","selectVoice","onSelectVolume","selectVolume","onDisable","disableVoice","initialVolume","placeholderTheme"],"sourceRoot":"../../../src","sources":["components/MapView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,14 +6,13 @@ import { NavigatorVoiceIcon } from "./navigatorManeuverIcon.js";
|
|
|
6
6
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
7
7
|
/**
|
|
8
8
|
* FAB выбора голоса + меню (список голосов, громкость 1–5, «отключить»).
|
|
9
|
-
* Порт DOM-меню из веб-навигатора.
|
|
10
|
-
* `useNavigatorVoice`; компонент только презентационный.
|
|
9
|
+
* Порт DOM-меню из веб-навигатора. Персист и TTS — в `useNavigatorTts`.
|
|
11
10
|
*/
|
|
12
11
|
export function NavigatorVoiceControl({
|
|
13
12
|
theme,
|
|
14
13
|
strings,
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
voiceEntries,
|
|
15
|
+
selectedVoiceKey,
|
|
17
16
|
voiceEnabled,
|
|
18
17
|
volumeLevel,
|
|
19
18
|
onSelectVoice,
|
|
@@ -21,7 +20,7 @@ export function NavigatorVoiceControl({
|
|
|
21
20
|
onDisable
|
|
22
21
|
}) {
|
|
23
22
|
const [open, setOpen] = useState(false);
|
|
24
|
-
if (
|
|
23
|
+
if (voiceEntries.length === 0) return null;
|
|
25
24
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
26
25
|
children: [/*#__PURE__*/_jsx(Pressable, {
|
|
27
26
|
accessibilityRole: "button",
|
|
@@ -75,13 +74,13 @@ export function NavigatorVoiceControl({
|
|
|
75
74
|
style: {
|
|
76
75
|
maxHeight: 280
|
|
77
76
|
},
|
|
78
|
-
children: [
|
|
79
|
-
const active = voiceEnabled &&
|
|
77
|
+
children: [voiceEntries.map(([voiceKey, label]) => {
|
|
78
|
+
const active = voiceEnabled && voiceKey === selectedVoiceKey;
|
|
80
79
|
return /*#__PURE__*/_jsx(Pressable, {
|
|
81
80
|
accessibilityRole: "menuitem",
|
|
82
81
|
onPress: () => {
|
|
83
82
|
setOpen(false);
|
|
84
|
-
onSelectVoice(
|
|
83
|
+
onSelectVoice(voiceKey);
|
|
85
84
|
},
|
|
86
85
|
style: {
|
|
87
86
|
paddingVertical: 10,
|
|
@@ -93,9 +92,9 @@ export function NavigatorVoiceControl({
|
|
|
93
92
|
color: active ? theme.iconForeground : theme.foreground,
|
|
94
93
|
fontWeight: active ? '600' : '400'
|
|
95
94
|
},
|
|
96
|
-
children:
|
|
95
|
+
children: label
|
|
97
96
|
})
|
|
98
|
-
},
|
|
97
|
+
}, voiceKey);
|
|
99
98
|
}), /*#__PURE__*/_jsxs(View, {
|
|
100
99
|
style: {
|
|
101
100
|
marginTop: 4,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","Pressable","ScrollView","Text","View","NavigatorVoiceIcon","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","NavigatorVoiceControl","theme","strings","
|
|
1
|
+
{"version":3,"names":["useState","Pressable","ScrollView","Text","View","NavigatorVoiceIcon","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","NavigatorVoiceControl","theme","strings","voiceEntries","selectedVoiceKey","voiceEnabled","volumeLevel","onSelectVoice","onSelectVolume","onDisable","open","setOpen","length","children","accessibilityRole","accessibilityLabel","voicePickerAria","onPress","v","style","pressed","position","right","bottom","width","height","borderRadius","alignItems","justifyContent","backgroundColor","background","shadowColor","shadowOpacity","shadowRadius","shadowOffset","elevation","opacity","color","iconForeground","muted","minWidth","maxWidth","paddingVertical","maxHeight","map","voiceKey","label","active","paddingHorizontal","fontSize","foreground","fontWeight","marginTop","paddingTop","borderTopWidth","borderTopColor","marginBottom","voiceVolumeLabel","flexDirection","gap","step","stepActive","voiceVolumeStepAria","flex","paddingBottom","Math","max","voiceDisable"],"sourceRoot":"../../../src","sources":["components/NavigatorVoiceControl.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,10 +4,8 @@ import { forwardRef, useImperativeHandle, useMemo, useRef, useState } from 'reac
|
|
|
4
4
|
import Video from 'react-native-video';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* веб присылает список ключей фраз, нативная часть собирает из них URL и
|
|
10
|
-
* проигрывает их по очереди с короткой паузой между клипами.
|
|
7
|
+
* Проигрыватель озвучки навигатора на `react-native-video`.
|
|
8
|
+
* Нативная часть передаёт URL аудио (из `ttsHandler`) и проигрывает очередь.
|
|
11
9
|
*
|
|
12
10
|
* Один экземпляр `<Video>` на всю сессию — между клипами меняется только source
|
|
13
11
|
* (или seek(0) при повторе того же URL), без remount.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","useImperativeHandle","useMemo","useRef","useState","Video","jsx","_jsx","CLIP_PAUSE_MS","NavigatorVoicePlayer","props","ref","sourceUri","setSourceUri","playing","setPlaying","volume","setVolume","initialVolume","Math","min","max","videoRef","queueRef","indexRef","genRef","clipGenRef","loadedUriRef","pauseTimerRef","clearPause","current","clearTimeout","playClip","gen","uri","seek","resume","scheduleNext","length","setTimeout","handleEnd","handleLoad","playUrls","urls","pause","stop","gain","source","shouldCache","paused","repeat","ignoreSilentSwitch","playInBackground","onLoad","onEnd","onError","style","width","height","displayName"],"sourceRoot":"../../../src","sources":["components/navigatorVoicePlayer.tsx"],"mappings":";;AAAA,SACIA,UAAU,EACVC,mBAAmB,EACnBC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACL,OAAO;AAEd,OAAOC,KAAK,MAAyB,oBAAoB;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA
|
|
1
|
+
{"version":3,"names":["forwardRef","useImperativeHandle","useMemo","useRef","useState","Video","jsx","_jsx","CLIP_PAUSE_MS","NavigatorVoicePlayer","props","ref","sourceUri","setSourceUri","playing","setPlaying","volume","setVolume","initialVolume","Math","min","max","videoRef","queueRef","indexRef","genRef","clipGenRef","loadedUriRef","pauseTimerRef","clearPause","current","clearTimeout","playClip","gen","uri","seek","resume","scheduleNext","length","setTimeout","handleEnd","handleLoad","playUrls","urls","pause","stop","gain","source","shouldCache","paused","repeat","ignoreSilentSwitch","playInBackground","onLoad","onEnd","onError","style","width","height","displayName"],"sourceRoot":"../../../src","sources":["components/navigatorVoicePlayer.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -28,10 +28,14 @@ export const NAVIGATOR_PROFILE_IDS = ['car', 'car_avoid_motorway', 'car_avoid_fe
|
|
|
28
28
|
/** Действие озвучки в событии `navigatorVoice`. */
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
|
-
* Web → RN: `navigatorVoice` event. Веб
|
|
32
|
-
* нативная часть
|
|
31
|
+
* Web → RN: `navigatorVoice` event. Веб собирает полную фразу и шлёт текст;
|
|
32
|
+
* нативная часть вызывает `ttsHandler` и воспроизводит URL аудио.
|
|
33
33
|
*/
|
|
34
34
|
|
|
35
|
+
/** Голоса TTS: ключ → подпись в UI выбора голоса. */
|
|
36
|
+
|
|
37
|
+
/** Колбэк TTS: текст фразы + ключ голоса → URL аудио для воспроизведения. */
|
|
38
|
+
|
|
35
39
|
/** Parsed MapLibre style JSON — `InitParams.mapStyle` / `UpdateParams.mapStyle` в WebView. */
|
|
36
40
|
|
|
37
41
|
/** RN → Web: `init` (`MapLiteController.InitParams`). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NAVIGATOR_PROFILE_IDS"],"sourceRoot":"../../../src","sources":["components/types.ts"],"mappings":";;AAAA;;AAYA;;AAQA;;AAWA;;AAkBA;;AAWA;AACA;AACA;AACA;;AAgBA;AACA,OAAO,MAAMA,qBAAqB,GAAG,CACjC,KAAK,EACL,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,SAAS,EACT,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EACL,YAAY,EACZ,YAAY,CACN;;AAIV;;AA8BA;AACA;AACA;AACA;;AAwBA;;AAGA;AACA;AACA;AACA;;AAWA;;AAGA;;AA0BA;;AASA;;AAOA;;AAOA;;AAMA;AACA;AACA;AACA;;AAOA;;AAKA;;AAmBA;;AAWA;;AAkBA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["NAVIGATOR_PROFILE_IDS"],"sourceRoot":"../../../src","sources":["components/types.ts"],"mappings":";;AAAA;;AAYA;;AAQA;;AAWA;;AAkBA;;AAWA;AACA;AACA;AACA;;AAgBA;AACA,OAAO,MAAMA,qBAAqB,GAAG,CACjC,KAAK,EACL,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,SAAS,EACT,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EACL,YAAY,EACZ,YAAY,CACN;;AAIV;;AA8BA;AACA;AACA;AACA;;AAwBA;;AAGA;AACA;AACA;AACA;;AAMA;;AAGA;;AAWA;;AAGA;;AA0BA;;AASA;;AAOA;;AAOA;;AAMA;AACA;AACA;AACA;;AAOA;;AAKA;;AAmBA;;AAWA;;AAkBA","ignoreList":[]}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
4
|
+
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
5
|
+
const LS_TTS_VOICE_PREF = 'maplite-navigator-tts-voice-pref';
|
|
6
|
+
const LS_VOICE_VOLUME = 'maplite-navigator-voice-volume';
|
|
7
|
+
const DEFAULT_VOICE_VOLUME_LEVEL = 5;
|
|
8
|
+
export function volumeLevelToGain(level) {
|
|
9
|
+
return level * 0.2;
|
|
10
|
+
}
|
|
11
|
+
export async function readVoiceVolumeLevel() {
|
|
12
|
+
try {
|
|
13
|
+
const raw = await AsyncStorage.getItem(LS_VOICE_VOLUME);
|
|
14
|
+
if (!raw) return DEFAULT_VOICE_VOLUME_LEVEL;
|
|
15
|
+
const n = Number.parseInt(raw, 10);
|
|
16
|
+
if (n >= 1 && n <= 5) return n;
|
|
17
|
+
} catch {
|
|
18
|
+
/* ignore */
|
|
19
|
+
}
|
|
20
|
+
return DEFAULT_VOICE_VOLUME_LEVEL;
|
|
21
|
+
}
|
|
22
|
+
export async function writeVoiceVolumeLevel(level) {
|
|
23
|
+
try {
|
|
24
|
+
await AsyncStorage.setItem(LS_VOICE_VOLUME, String(level));
|
|
25
|
+
} catch {
|
|
26
|
+
/* ignore */
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export async function readTtsVoicePref() {
|
|
30
|
+
try {
|
|
31
|
+
const raw = await AsyncStorage.getItem(LS_TTS_VOICE_PREF);
|
|
32
|
+
if (!raw) return null;
|
|
33
|
+
const parsed = JSON.parse(raw);
|
|
34
|
+
if (parsed && typeof parsed === 'object' && 'disabled' in parsed && parsed.disabled === true) {
|
|
35
|
+
return {
|
|
36
|
+
disabled: true
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
if (parsed && typeof parsed === 'object' && 'voiceKey' in parsed && typeof parsed.voiceKey === 'string') {
|
|
40
|
+
const voiceKey = parsed.voiceKey.trim();
|
|
41
|
+
if (voiceKey) return {
|
|
42
|
+
voiceKey
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
} catch {
|
|
46
|
+
/* ignore */
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
export async function writeTtsVoicePref(pref) {
|
|
51
|
+
try {
|
|
52
|
+
await AsyncStorage.setItem(LS_TTS_VOICE_PREF, JSON.stringify(pref));
|
|
53
|
+
} catch {
|
|
54
|
+
/* ignore */
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function defaultVoiceKey(voices) {
|
|
58
|
+
const keys = Object.keys(voices);
|
|
59
|
+
return keys.length > 0 ? keys[0] : null;
|
|
60
|
+
}
|
|
61
|
+
function resolveVoiceKey(voices, pref) {
|
|
62
|
+
if (pref && 'voiceKey' in pref && pref.voiceKey in voices) {
|
|
63
|
+
return pref.voiceKey;
|
|
64
|
+
}
|
|
65
|
+
return defaultVoiceKey(voices);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Нативное владение TTS навигатора: выбор голоса/громкости, персист,
|
|
70
|
+
* кэш URL по (voiceKey, text). Веб шлёт готовый текст фразы.
|
|
71
|
+
*/
|
|
72
|
+
|
|
73
|
+
export function useNavigatorTts(ttsVoices, ttsHandler) {
|
|
74
|
+
const [selectedVoiceKey, setSelectedVoiceKey] = useState(null);
|
|
75
|
+
const [voiceEnabled, setVoiceEnabled] = useState(true);
|
|
76
|
+
const [volumeLevel, setVolumeLevel] = useState(5);
|
|
77
|
+
const urlCacheRef = useRef(new Map());
|
|
78
|
+
const voiceEntries = Object.entries(ttsVoices ?? {});
|
|
79
|
+
const ttsActive = voiceEntries.length > 0 && typeof ttsHandler === 'function';
|
|
80
|
+
useEffect(() => {
|
|
81
|
+
let cancelled = false;
|
|
82
|
+
void readVoiceVolumeLevel().then(lvl => {
|
|
83
|
+
if (!cancelled) setVolumeLevel(lvl);
|
|
84
|
+
});
|
|
85
|
+
if (!ttsActive) {
|
|
86
|
+
setSelectedVoiceKey(null);
|
|
87
|
+
setVoiceEnabled(false);
|
|
88
|
+
return () => {
|
|
89
|
+
cancelled = true;
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
void readTtsVoicePref().then(pref => {
|
|
93
|
+
if (cancelled) return;
|
|
94
|
+
if (pref && 'disabled' in pref) {
|
|
95
|
+
setVoiceEnabled(false);
|
|
96
|
+
setSelectedVoiceKey(resolveVoiceKey(ttsVoices, pref));
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
setVoiceEnabled(true);
|
|
100
|
+
setSelectedVoiceKey(resolveVoiceKey(ttsVoices, pref));
|
|
101
|
+
});
|
|
102
|
+
return () => {
|
|
103
|
+
cancelled = true;
|
|
104
|
+
};
|
|
105
|
+
}, [ttsActive, ttsVoices]);
|
|
106
|
+
const selectVoice = useCallback(async voiceKey => {
|
|
107
|
+
if (!ttsVoices || !(voiceKey in ttsVoices)) return;
|
|
108
|
+
setSelectedVoiceKey(voiceKey);
|
|
109
|
+
setVoiceEnabled(true);
|
|
110
|
+
await writeTtsVoicePref({
|
|
111
|
+
voiceKey
|
|
112
|
+
});
|
|
113
|
+
}, [ttsVoices]);
|
|
114
|
+
const selectVolume = useCallback(level => {
|
|
115
|
+
setVolumeLevel(level);
|
|
116
|
+
void writeVoiceVolumeLevel(level);
|
|
117
|
+
}, []);
|
|
118
|
+
const disableVoice = useCallback(async () => {
|
|
119
|
+
await writeTtsVoicePref({
|
|
120
|
+
disabled: true
|
|
121
|
+
});
|
|
122
|
+
setVoiceEnabled(false);
|
|
123
|
+
}, []);
|
|
124
|
+
const synthesize = useCallback(async text => {
|
|
125
|
+
if (!ttsHandler || !voiceEnabled || !selectedVoiceKey) return null;
|
|
126
|
+
const trimmed = text.trim();
|
|
127
|
+
if (!trimmed) return null;
|
|
128
|
+
const cacheKey = `${selectedVoiceKey}\0${trimmed}`;
|
|
129
|
+
const cached = urlCacheRef.current.get(cacheKey);
|
|
130
|
+
if (cached) return cached;
|
|
131
|
+
try {
|
|
132
|
+
const url = await ttsHandler(trimmed, selectedVoiceKey);
|
|
133
|
+
if (typeof url === 'string' && url.trim()) {
|
|
134
|
+
const u = url.trim();
|
|
135
|
+
urlCacheRef.current.set(cacheKey, u);
|
|
136
|
+
return u;
|
|
137
|
+
}
|
|
138
|
+
} catch (err) {
|
|
139
|
+
console.warn('[maplite] navigator TTS failed', err);
|
|
140
|
+
}
|
|
141
|
+
return null;
|
|
142
|
+
}, [ttsHandler, voiceEnabled, selectedVoiceKey]);
|
|
143
|
+
return {
|
|
144
|
+
voiceEntries: ttsActive ? voiceEntries : [],
|
|
145
|
+
selectedVoiceKey: ttsActive ? selectedVoiceKey : null,
|
|
146
|
+
voiceEnabled: ttsActive && voiceEnabled,
|
|
147
|
+
volumeLevel,
|
|
148
|
+
synthesize,
|
|
149
|
+
selectVoice,
|
|
150
|
+
selectVolume,
|
|
151
|
+
disableVoice
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=useNavigatorTts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useRef","useState","AsyncStorage","LS_TTS_VOICE_PREF","LS_VOICE_VOLUME","DEFAULT_VOICE_VOLUME_LEVEL","volumeLevelToGain","level","readVoiceVolumeLevel","raw","getItem","n","Number","parseInt","writeVoiceVolumeLevel","setItem","String","readTtsVoicePref","parsed","JSON","parse","disabled","voiceKey","trim","writeTtsVoicePref","pref","stringify","defaultVoiceKey","voices","keys","Object","length","resolveVoiceKey","useNavigatorTts","ttsVoices","ttsHandler","selectedVoiceKey","setSelectedVoiceKey","voiceEnabled","setVoiceEnabled","volumeLevel","setVolumeLevel","urlCacheRef","Map","voiceEntries","entries","ttsActive","cancelled","then","lvl","selectVoice","selectVolume","disableVoice","synthesize","text","trimmed","cacheKey","cached","current","get","url","u","set","err","console","warn"],"sourceRoot":"../../../src","sources":["components/useNavigatorTts.ts"],"mappings":"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","ignoreList":[]}
|