- Add StreamTransformer for easier processing
- Fix Big/Litte endian issues
- Change type of get sampleRate from double to int
- Fix parameter getters potentially never returning
- Change return value of
microphone(...)
fromFuture<Stream<Uint8List>?>
toStream<Uint8List>
- Fixed sampleRate settings to be adapted to iOS
- Change interface from having const default values to taking nullable parameters (#54)
- Make default values publicly accessible
- Switch to a different MacOS backend to resolve issues of white noise (#49)
- Upgrade
permission_handler
to version 10.0.0 and update compileSdk to 33 accordingly
- Fix issues of the Audio Recorder not always being properly reinitialised on android
- Changing microphone config now reconfigures audio recorder. To change config, recall
microphone({config})
with the new config.
- Add flag to prevent permission request dialogue
- Don't ask for permission on MacOS, since they seem to have permission anyways
-
Retroactively update description for version 0.4.0
-
Some cleanup
- Comply with Null safety
- Fixed permissions to record audio not being requested (solves #19)
- Fix a bug caused by lacking synchronisation between audio stream generator and event handler
- Migrate to new Android Plugin APIs
-
Add Pull Request #16, adding support for macOS
-
Add intensity viewer to the example app
BREAKING CHANGE: Now always returns a Stream<Uint8list>
. With a 16BIT PCM config, every pair of bytes constitutes one 16Bit value. Refer to #29 for further information.
-
Fix Issue #11, making the plugin work on iOS devices
-
Formatted Code.
-
Update permission plugin dependency
-
Make AndroidX compatible
- Formatted Code.
- Updated README.
- Fixed value truncation, now ensuring correct values for 16BIT_PCM
- Added a better example application in ./example/lib/main.dart
- Fixed Issue #8, causing immediate crashes in the latest flutter update
- Removed Debug output
- Fixed casting issue
- Added Error handling for exceptions thrown on wrong AudioRecord params
- Updated README.
- Added 16Bit PCM mode
- Added customisability for the recorder
- Added some error handling of the input params
-
Rewritten Plugin to make use of EventChannel.StreamHandlers (Much nicer than before)
-
microphone({Options}) returns a Stream<List>
- The stream starts upon onListen() and runs until onCancel()
-
listen to the stream to start recording
-
stop the subscription to stop
- Calculations of durations, as multi-threading currently makes it not working. Will be included in future releases
- Some unit tests (Will be extended in the future to fully ensure the plugin's working)
- Fixed crucial bug from 0.0.6
- Smaller changes
- Setter for microphone (audioSource, sampleRate, channelConfig, audioFormat)
- Changed Values for default and maximum sample rate (to 32 kHZ and 48 kHZ, respectively)
- pause: Pauses writing data to the stream
- resume: Resumes a paused stream
- Getter for internal stream: microphone.stream
Initial release - Android support only!
Provides the Class Microphone inheriting StreamController with .start() and .stop() to start and stop sending an audio stream from the microphone to the Microphone's internal Stream (Microphone.stream). Also provides Microphone,broadcast which works the same but allows multiple StreamSubscriptions. On start, a timestamp is set and returned on stop.
Constructor takes the Sample Rate as optional argument.
- platformVersion: Getter to return current platform version
- bufferSize: Getter to return current buffer size (calculated from the sample size)
- isRecording: Returns the state of the class
- sampleRate: Setter to manually update the sample rate (use with caution, though)
- close: Closes the internal StreamController
- toString: Pass-through to internal StreamController