mirror of
https://github.com/dz0ny/meshcore-sar.git
synced 2026-07-18 01:26:12 +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
36 lines
1.5 KiB
C++
36 lines
1.5 KiB
C++
//
|
|
// Generated file. Do not edit.
|
|
//
|
|
|
|
// clang-format off
|
|
|
|
#include "generated_plugin_registrant.h"
|
|
|
|
#include <audioplayers_windows/audioplayers_windows_plugin.h>
|
|
#include <geolocator_windows/geolocator_windows.h>
|
|
#include <nsd_windows/nsd_windows_plugin_c_api.h>
|
|
#include <objectbox_flutter_libs/objectbox_flutter_libs_plugin.h>
|
|
#include <permission_handler_windows/permission_handler_windows_plugin.h>
|
|
#include <record_windows/record_windows_plugin_c_api.h>
|
|
#include <share_plus/share_plus_windows_plugin_c_api.h>
|
|
#include <url_launcher_windows/url_launcher_windows.h>
|
|
|
|
void RegisterPlugins(flutter::PluginRegistry* registry) {
|
|
AudioplayersWindowsPluginRegisterWithRegistrar(
|
|
registry->GetRegistrarForPlugin("AudioplayersWindowsPlugin"));
|
|
GeolocatorWindowsRegisterWithRegistrar(
|
|
registry->GetRegistrarForPlugin("GeolocatorWindows"));
|
|
NsdWindowsPluginCApiRegisterWithRegistrar(
|
|
registry->GetRegistrarForPlugin("NsdWindowsPluginCApi"));
|
|
ObjectboxFlutterLibsPluginRegisterWithRegistrar(
|
|
registry->GetRegistrarForPlugin("ObjectboxFlutterLibsPlugin"));
|
|
PermissionHandlerWindowsPluginRegisterWithRegistrar(
|
|
registry->GetRegistrarForPlugin("PermissionHandlerWindowsPlugin"));
|
|
RecordWindowsPluginCApiRegisterWithRegistrar(
|
|
registry->GetRegistrarForPlugin("RecordWindowsPluginCApi"));
|
|
SharePlusWindowsPluginCApiRegisterWithRegistrar(
|
|
registry->GetRegistrarForPlugin("SharePlusWindowsPluginCApi"));
|
|
UrlLauncherWindowsRegisterWithRegistrar(
|
|
registry->GetRegistrarForPlugin("UrlLauncherWindows"));
|
|
}
|