audio_flutter
Provider-neutral Flutter microphone, system-audio, and PCM playback.
0.2.0
kshdotdev/audio-kit-dart
What this package is like to depend on
Last release 18 days ago
06 Aug 2026
Too new to tell
only 2 dated releases
Nearly every release is documented
notes for 2 of 2 stable releases
Nothing withdrawn
no release was ever pulled
0 months old
2 releases · first in 2026
2 releases in the last 12 months
see the full history below
Release timeline
2 releases · Jul 2026 to Aug 2026Releases
latest 2-
0.2.006 Aug 2026Release notes
Open source →-
Add
SystemAudioProcessSelector, a pure expansion of a target app set over aFlutterSystemAudio.listProcesses()snapshot. Tapping Teams, Chrome, or Safari by their main process ID captured nothing, because those apps render audio in helper processes or in shared browser-engine processes under another bundle namespace. The prefix tables (browsers' external media processes, Electron helper suffixes, the Teams family) are public const and replaceable through the constructor. -
Add
FlutterMicrophonePermission(status()/request()) andAudioMicrophonePermissionStatus.FlutterAudioCaptureSource.prepare()now fails a microphone capture with the typedmicrophone_permission_deniedfailure when access is denied or restricted, instead of starting an engine that delivers only zeroes. An undetermined status still reaches the system prompt, and a platform without a permission gate is never blocked. -
Add
FlutterSystemAudio.cleanupOrphanedCaptureDevices(), which reclaims private capture devices leaked by a process that died mid-capture. Documented as an app-start call. -
Report
AudioDiscontinuityReason.sourceRestarton frames whose native capture chain was rebuilt (an output-device switch, a helper process appearing). Every native gap used to arrive asdroppedFrames; a restart that lost no frames now breaks continuity too, because the audio after it is not a continuation of the audio before it. -
Widen
FlutterAudioCaptureHealthwithpeakAmplitude,rms,nonZeroFramePercent,renderCycles, andfirstAudioAtMillis. A singlereceivingAudiobool could not tell a quiet room from a dead tap. -
Document the mic-delay recipe in the README: how to derive the start skew between two captures from their first
AudioFrametimestamps andclockIds, for consumers such as mic-bleed dedup. -
Endorse
audio_flutter_linuxforlinuxandaudio_flutter_windowsforwindows. Both are declared underflutter.plugin.platformsasdefault_package, so a host app that depends only onaudio_fluttergets the platform implementation registered without naming it. The federated facade inlib/is unchanged: the new platforms arrive entirely through endorsement, not through new Dart API. -
Add
linuxandwindowsto the declaredplatforms. The package now advertises ios/linux/macos/windows. Capability is still per platform — system/process capture remains macOS-only. -
Add dependencies on
audio_flutter_linux: ^0.1.0andaudio_flutter_windows: ^0.1.0. Both packages are new because neither implementation has been published yet; this package cannot be re-released until they are live on pub.dev at a stable version and these constraints are widened to^0.1.0. -
Add
example/, a minimal capture and device-listing app for windows/linux/macos. It is the only place the native halves of the federated plugin are compiled at all — the desktop CI jobs build it, and the Windows C++ plugin's first-ever compile happens there. Its macOS deployment target is 14.0. -
Document in the README that Apple platforms still require the host app's
Info.plistmicrophone usage description; the permission API added in this release governs the grant, not the declaration. -
Add
FlutterCaptureBackend, the federated implementation ofaudio_core's newCaptureBackendcontract. Probes are single-use grants: a start must present the exact request/source pair that was probed, and the source is revalidated immediately before native allocation. -
Expose monotonic timing on prepared capture sessions:
timingQualityand thetimingmapping established by the first delivered frame, plus optionallogicalSourceIdandtimingQualityoverrides on the session config, so a host can carry a normalized source identity and timing provenance through to durable track manifests.
-
-
0.1.027 Jul 2026