mirror of
https://github.com/dz0ny/meshcore-sar.git
synced 2026-07-16 16:18:47 +00:00
Push-to-talk voice messaging using the Codec2 ultra-low-bitrate speech codec, transmitted as V: prefixed packets over the existing MeshCore LoRa mesh pipeline. Voice recording UI (long-press send button or + menu) is gated behind Platform.isIOS || Platform.isMacOS since the `record` package only supports microphone capture on those platforms in this build. Key changes: - VoiceRecorderService: streams 8kHz mono PCM chunks via `record` package - VoicePlayerService: decodes Codec2 bytes to WAV and plays via audioplayers - VoiceCodecService: async Codec2 encode/decode in background isolates - VoiceProvider: reassembles multi-packet sessions, drives playback - VoiceMessageBubble: shows packet progress, play/stop controls - MessagesProvider: detects V: prefix, routes to VoiceProvider - MessagesTab: PTT long-press gesture + recording indicator (iOS/macOS) - Message model: isVoice + voiceId fields for session tracking - Auto-selects codec mode from radio bandwidth (700C/1200/1300 bps) - codec2_flutter + meshcore_client switched from path to git deps
119 lines
4.9 KiB
Plaintext
119 lines
4.9 KiB
Plaintext
PODS:
|
|
- audioplayers_darwin (0.0.1):
|
|
- Flutter
|
|
- FlutterMacOS
|
|
- codec2_flutter (0.1.0):
|
|
- FlutterMacOS
|
|
- device_info_plus (0.0.1):
|
|
- FlutterMacOS
|
|
- file_picker (0.0.1):
|
|
- FlutterMacOS
|
|
- flutter_blue_plus_darwin (0.0.2):
|
|
- Flutter
|
|
- FlutterMacOS
|
|
- flutter_local_notifications (0.0.1):
|
|
- FlutterMacOS
|
|
- FlutterMacOS (1.0.0)
|
|
- geolocator_apple (1.2.0):
|
|
- Flutter
|
|
- FlutterMacOS
|
|
- nsd_macos (0.0.1):
|
|
- FlutterMacOS
|
|
- ObjectBox (4.4.1)
|
|
- objectbox_flutter_libs (0.0.1):
|
|
- FlutterMacOS
|
|
- ObjectBox (= 4.4.1)
|
|
- package_info_plus (0.0.1):
|
|
- FlutterMacOS
|
|
- path_provider_foundation (0.0.1):
|
|
- Flutter
|
|
- FlutterMacOS
|
|
- record_macos (1.2.0):
|
|
- FlutterMacOS
|
|
- share_plus (0.0.1):
|
|
- FlutterMacOS
|
|
- shared_preferences_foundation (0.0.1):
|
|
- Flutter
|
|
- FlutterMacOS
|
|
- url_launcher_macos (0.0.1):
|
|
- FlutterMacOS
|
|
|
|
DEPENDENCIES:
|
|
- audioplayers_darwin (from `Flutter/ephemeral/.symlinks/plugins/audioplayers_darwin/darwin`)
|
|
- codec2_flutter (from `Flutter/ephemeral/.symlinks/plugins/codec2_flutter/macos`)
|
|
- device_info_plus (from `Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos`)
|
|
- file_picker (from `Flutter/ephemeral/.symlinks/plugins/file_picker/macos`)
|
|
- flutter_blue_plus_darwin (from `Flutter/ephemeral/.symlinks/plugins/flutter_blue_plus_darwin/darwin`)
|
|
- flutter_local_notifications (from `Flutter/ephemeral/.symlinks/plugins/flutter_local_notifications/macos`)
|
|
- FlutterMacOS (from `Flutter/ephemeral`)
|
|
- geolocator_apple (from `Flutter/ephemeral/.symlinks/plugins/geolocator_apple/darwin`)
|
|
- nsd_macos (from `Flutter/ephemeral/.symlinks/plugins/nsd_macos/macos`)
|
|
- objectbox_flutter_libs (from `Flutter/ephemeral/.symlinks/plugins/objectbox_flutter_libs/macos`)
|
|
- package_info_plus (from `Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos`)
|
|
- path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`)
|
|
- record_macos (from `Flutter/ephemeral/.symlinks/plugins/record_macos/macos`)
|
|
- share_plus (from `Flutter/ephemeral/.symlinks/plugins/share_plus/macos`)
|
|
- shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`)
|
|
- url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`)
|
|
|
|
SPEC REPOS:
|
|
trunk:
|
|
- ObjectBox
|
|
|
|
EXTERNAL SOURCES:
|
|
audioplayers_darwin:
|
|
:path: Flutter/ephemeral/.symlinks/plugins/audioplayers_darwin/darwin
|
|
codec2_flutter:
|
|
:path: Flutter/ephemeral/.symlinks/plugins/codec2_flutter/macos
|
|
device_info_plus:
|
|
:path: Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos
|
|
file_picker:
|
|
:path: Flutter/ephemeral/.symlinks/plugins/file_picker/macos
|
|
flutter_blue_plus_darwin:
|
|
:path: Flutter/ephemeral/.symlinks/plugins/flutter_blue_plus_darwin/darwin
|
|
flutter_local_notifications:
|
|
:path: Flutter/ephemeral/.symlinks/plugins/flutter_local_notifications/macos
|
|
FlutterMacOS:
|
|
:path: Flutter/ephemeral
|
|
geolocator_apple:
|
|
:path: Flutter/ephemeral/.symlinks/plugins/geolocator_apple/darwin
|
|
nsd_macos:
|
|
:path: Flutter/ephemeral/.symlinks/plugins/nsd_macos/macos
|
|
objectbox_flutter_libs:
|
|
:path: Flutter/ephemeral/.symlinks/plugins/objectbox_flutter_libs/macos
|
|
package_info_plus:
|
|
:path: Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos
|
|
path_provider_foundation:
|
|
:path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin
|
|
record_macos:
|
|
:path: Flutter/ephemeral/.symlinks/plugins/record_macos/macos
|
|
share_plus:
|
|
:path: Flutter/ephemeral/.symlinks/plugins/share_plus/macos
|
|
shared_preferences_foundation:
|
|
:path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin
|
|
url_launcher_macos:
|
|
:path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos
|
|
|
|
SPEC CHECKSUMS:
|
|
audioplayers_darwin: 4f9ca89d92d3d21cec7ec580e78ca888e5fb68bd
|
|
codec2_flutter: 50d930e6a1a187f05891b89300c6ef589651bfbd
|
|
device_info_plus: 4fb280989f669696856f8b129e4a5e3cd6c48f76
|
|
file_picker: 7584aae6fa07a041af2b36a2655122d42f578c1a
|
|
flutter_blue_plus_darwin: 20a08bfeaa0f7804d524858d3d8744bcc1b6dbc3
|
|
flutter_local_notifications: 4bf37a31afde695b56091b4ae3e4d9c7a7e6cda0
|
|
FlutterMacOS: d0db08ddef1a9af05a5ec4b724367152bb0500b1
|
|
geolocator_apple: ab36aa0e8b7d7a2d7639b3b4e48308394e8cef5e
|
|
nsd_macos: a472240e770b92f6c6df1022403aa29c90d012e3
|
|
ObjectBox: 7da4aceb5013d041bfafdbc6d744a26918b09757
|
|
objectbox_flutter_libs: f51d18f6a4b5965c218843373b7dc5ed5e3a2008
|
|
package_info_plus: f0052d280d17aa382b932f399edf32507174e870
|
|
path_provider_foundation: bb55f6dbba17d0dccd6737fe6f7f34fbd0376880
|
|
record_macos: 7f227161b93c49e7e34fe681c5891c8622c8cc8b
|
|
share_plus: 510bf0af1a42cd602274b4629920c9649c52f4cc
|
|
shared_preferences_foundation: 7036424c3d8ec98dfe75ff1667cb0cd531ec82bb
|
|
url_launcher_macos: f87a979182d112f911de6820aefddaf56ee9fbfd
|
|
|
|
PODFILE CHECKSUM: 54d867c82ac51cbd61b565781b9fada492027009
|
|
|
|
COCOAPODS: 1.16.2
|