flet-audio-recorder 0.2.0.dev55__tar.gz → 0.2.0.dev64__tar.gz

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.
Files changed (23) hide show
  1. {flet_audio_recorder-0.2.0.dev55/src/flet_audio_recorder.egg-info → flet_audio_recorder-0.2.0.dev64}/PKG-INFO +1 -1
  2. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64}/pyproject.toml +36 -14
  3. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64}/src/flet_audio_recorder/__init__.py +13 -0
  4. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64}/src/flet_audio_recorder/audio_recorder.py +40 -15
  5. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64}/src/flet_audio_recorder/types.py +59 -42
  6. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64/src/flet_audio_recorder.egg-info}/PKG-INFO +1 -1
  7. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64}/src/flutter/flet_audio_recorder/pubspec.lock +7 -7
  8. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64}/src/flutter/flet_audio_recorder/pubspec.yaml +1 -1
  9. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64}/LICENSE +0 -0
  10. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64}/README.md +0 -0
  11. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64}/setup.cfg +0 -0
  12. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64}/src/flet_audio_recorder.egg-info/SOURCES.txt +0 -0
  13. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64}/src/flet_audio_recorder.egg-info/dependency_links.txt +0 -0
  14. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64}/src/flet_audio_recorder.egg-info/requires.txt +0 -0
  15. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64}/src/flet_audio_recorder.egg-info/top_level.txt +0 -0
  16. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64}/src/flutter/flet_audio_recorder/CHANGELOG.md +0 -0
  17. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64}/src/flutter/flet_audio_recorder/LICENSE +0 -0
  18. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64}/src/flutter/flet_audio_recorder/README.md +0 -0
  19. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64}/src/flutter/flet_audio_recorder/analysis_options.yaml +0 -0
  20. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64}/src/flutter/flet_audio_recorder/lib/flet_audio_recorder.dart +0 -0
  21. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64}/src/flutter/flet_audio_recorder/lib/src/audio_recorder.dart +0 -0
  22. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64}/src/flutter/flet_audio_recorder/lib/src/extension.dart +0 -0
  23. {flet_audio_recorder-0.2.0.dev55 → flet_audio_recorder-0.2.0.dev64}/src/flutter/flet_audio_recorder/lib/src/utils/audio_recorder.dart +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flet-audio-recorder
3
- Version: 0.2.0.dev55
3
+ Version: 0.2.0.dev64
4
4
  Summary: Adds audio recording support to Flet apps.
5
5
  Author-email: Flet contributors <hello@flet.dev>
6
6
  License-Expression: Apache-2.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "flet-audio-recorder"
3
- version = "0.2.0.dev55"
3
+ version = "0.2.0.dev64"
4
4
  description = "Adds audio recording support to Flet apps."
5
5
  readme = "README.md"
6
6
  authors = [{ name = "Flet contributors", email = "hello@flet.dev" }]
@@ -20,22 +20,43 @@ Issues = "https://github.com/flet-dev/flet-audio-recorder/issues"
20
20
  "flutter.flet_audio_recorder" = ["**/*"]
21
21
 
22
22
  [dependency-groups]
23
+ test = [
24
+ "pytest >=7.2.0",
25
+ ]
26
+ lint = [
27
+ "ruff >=0.11.7",
28
+ ]
23
29
  dev = [
24
- "pre-commit>=4.2.0",
25
- "ruff>=0.11.7",
30
+ "pre-commit >=4.2.0",
31
+ { include-group = 'lint' },
32
+ { include-group = 'test' },
33
+ ]
34
+ docs-coverage = [
35
+ "docstr-coverage >=2.3.2",
26
36
  ]
27
37
  docs = [
28
- "mkdocs",
29
- "mkdocs-material",
30
- "mkdocstrings[python]",
31
- "mkdocstrings-python-xref",
32
- "mike",
33
- "markdown>=3.6",
34
- "pymdown-extensions",
35
- "mkdocs-glightbox",
36
- "mkdocs-section-index",
37
- "griffe-modernized-annotations",
38
- "pygments>=2.16",
38
+ "mkdocs >=1.6.1",
39
+ "mkdocs-material >=9.6.15",
40
+ "mkdocstrings-python >=1.16.12",
41
+ "mkdocstrings-python-xref >=1.16.3",
42
+ "mike >=2.1.3",
43
+ "markdown >=3.6",
44
+ "pymdown-extensions >=10.16",
45
+ "mkdocs-exclude >=1.0.2",
46
+ "mkdocs-glightbox >=0.4.0",
47
+ "mkdocs-open-in-new-tab >=1.0.8",
48
+ "mkdocs-section-index >=0.3.10",
49
+ "griffe-modernized-annotations >=1.0.8",
50
+ "griffe-warnings-deprecated >=1.1.0",
51
+ "pygments >=2.16",
52
+ "markdown-exec[ansi] >=1.11.0",
53
+ "pydocstyle >=6.3.0",
54
+ "linkcheckmd >=1.4.0",
55
+ { include-group = 'docs-coverage' },
56
+ ]
57
+ all = [
58
+ { include-group = 'dev' },
59
+ { include-group = 'docs' },
39
60
  ]
40
61
 
41
62
  [build-system]
@@ -64,6 +85,7 @@ select = [
64
85
  "I"
65
86
  ]
66
87
  preview = true
88
+ pydocstyle = { convention = 'google' }
67
89
 
68
90
  [tool.ruff.format]
69
91
  quote-style = "double"
@@ -10,3 +10,16 @@ from .types import (
10
10
  IosAudioCategoryOption,
11
11
  IosRecorderConfiguration,
12
12
  )
13
+
14
+ __all__ = [
15
+ "AndroidAudioSource",
16
+ "AndroidRecorderConfiguration",
17
+ "AudioEncoder",
18
+ "AudioRecorder",
19
+ "AudioRecorderConfiguration",
20
+ "AudioRecorderState",
21
+ "AudioRecorderStateChangeEvent",
22
+ "InputDevice",
23
+ "IosAudioCategoryOption",
24
+ "IosRecorderConfiguration",
25
+ ]
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
  from dataclasses import field
3
- from typing import List, Optional
3
+ from typing import Optional
4
4
 
5
5
  import flet as ft
6
6
 
@@ -19,11 +19,14 @@ class AudioRecorder(ft.Service):
19
19
  """
20
20
  A control that allows you to record audio from your device.
21
21
 
22
- This control can record audio using different audio encoders and also allows configuration
23
- of various audio recording parameters such as noise suppression, echo cancellation, and more.
22
+ This control can record audio using different
23
+ audio encoders and also allows configuration
24
+ of various audio recording parameters such as
25
+ noise suppression, echo cancellation, and more.
24
26
 
25
27
  Note:
26
- This control is non-visual and should be added to `Page.services` list before it can be used.
28
+ This control is non-visual and should be added to
29
+ [`Page.services`][flet.Page.services] list before it can be used.
27
30
  """
28
31
 
29
32
  configuration: AudioRecorderConfiguration = field(
@@ -33,13 +36,9 @@ class AudioRecorder(ft.Service):
33
36
  The default configuration of the audio recorder.
34
37
  """
35
38
 
36
- on_state_change: ft.OptionalEventHandler[
37
- AudioRecorderStateChangeEvent["AudioRecorder"]
38
- ] = None
39
+ on_state_change: Optional[ft.EventHandler[AudioRecorderStateChangeEvent]] = None
39
40
  """
40
41
  Event handler that is called when the state of the audio recorder changes.
41
-
42
- Event handler argument is of type [`AudioRecorderStateChangeEvent`][(p).].
43
42
  """
44
43
 
45
44
  async def start_recording_async(
@@ -59,14 +58,16 @@ class AudioRecorder(ft.Service):
59
58
  configuration: The configuration for the audio recorder.
60
59
  If `None`, the `AudioRecorder.configuration` will be used.
61
60
  timeout: The maximum amount of time (in seconds) to wait for a response.
61
+
62
62
  Returns:
63
63
  `True` if recording was successfully started, `False` otherwise.
64
+
64
65
  Raises:
65
66
  TimeoutError: If the request times out.
66
67
  """
67
- assert (
68
- self.page.web or output_path
69
- ), "output_path must be provided on platforms other than web"
68
+ assert self.page.web or output_path, (
69
+ "output_path must be provided on platforms other than web"
70
+ )
70
71
  return await self._invoke_method_async(
71
72
  method_name="start_recording",
72
73
  arguments={
@@ -84,21 +85,27 @@ class AudioRecorder(ft.Service):
84
85
 
85
86
  Args:
86
87
  timeout: The maximum amount of time (in seconds) to wait for a response.
88
+
87
89
  Returns:
88
90
  `True` if the recorder is currently recording, `False` otherwise.
91
+
89
92
  Raises:
90
93
  TimeoutError: If the request times out.
91
94
  """
92
95
  return await self._invoke_method_async("is_recording", timeout=timeout)
93
96
 
94
- async def stop_recording_async(self, timeout: Optional[float] = 10) -> Optional[str]:
97
+ async def stop_recording_async(
98
+ self, timeout: Optional[float] = 10
99
+ ) -> Optional[str]:
95
100
  """
96
101
  Stops the audio recording and optionally returns the path to the saved file.
97
102
 
98
103
  Args:
99
104
  timeout: The maximum amount of time (in seconds) to wait for a response.
105
+
100
106
  Returns:
101
107
  The file path where the audio was saved or `None` if not applicable.
108
+
102
109
  Raises:
103
110
  TimeoutError: If the request times out.
104
111
  """
@@ -110,6 +117,7 @@ class AudioRecorder(ft.Service):
110
117
 
111
118
  Args:
112
119
  timeout: The maximum amount of time (in seconds) to wait for a response.
120
+
113
121
  Raises:
114
122
  TimeoutError: If the request times out.
115
123
  """
@@ -121,6 +129,7 @@ class AudioRecorder(ft.Service):
121
129
 
122
130
  Args:
123
131
  timeout: The maximum amount of time (in seconds) to wait for a response.
132
+
124
133
  Raises:
125
134
  TimeoutError: If the request times out.
126
135
  """
@@ -132,6 +141,7 @@ class AudioRecorder(ft.Service):
132
141
 
133
142
  Args:
134
143
  timeout: The maximum amount of time (in seconds) to wait for a response.
144
+
135
145
  Raises:
136
146
  TimeoutError: If the request times out.
137
147
  """
@@ -143,6 +153,7 @@ class AudioRecorder(ft.Service):
143
153
 
144
154
  Args:
145
155
  timeout: The maximum amount of time (in seconds) to wait for a response.
156
+
146
157
  Raises:
147
158
  TimeoutError: If the request times out.
148
159
  """
@@ -154,6 +165,7 @@ class AudioRecorder(ft.Service):
154
165
 
155
166
  Args:
156
167
  timeout: The maximum amount of time (in seconds) to wait for a response.
168
+
157
169
  Raises:
158
170
  TimeoutError: If the request times out.
159
171
  """
@@ -165,6 +177,7 @@ class AudioRecorder(ft.Service):
165
177
 
166
178
  Args:
167
179
  timeout: The maximum amount of time (in seconds) to wait for a response.
180
+
168
181
  Raises:
169
182
  TimeoutError: If the request times out.
170
183
  """
@@ -176,22 +189,28 @@ class AudioRecorder(ft.Service):
176
189
 
177
190
  Args:
178
191
  timeout: The maximum amount of time (in seconds) to wait for a response.
192
+
179
193
  Returns:
180
194
  `True` if the recorder is paused, `False` otherwise.
195
+
181
196
  Raises:
182
197
  TimeoutError: If the request times out.
183
198
  """
184
199
  return await self._invoke_method_async("is_paused", timeout=timeout)
185
200
 
186
- async def is_supported_encoder_async(self, encoder: AudioEncoder, timeout: Optional[float] = 10) -> bool:
201
+ async def is_supported_encoder_async(
202
+ self, encoder: AudioEncoder, timeout: Optional[float] = 10
203
+ ) -> bool:
187
204
  """
188
205
  Checks if the given audio encoder is supported by the recorder.
189
206
 
190
207
  Args:
191
208
  encoder: The audio encoder to check.
192
209
  timeout: The maximum amount of time (in seconds) to wait for a response.
210
+
193
211
  Returns:
194
212
  `True` if the encoder is supported, `False` otherwise.
213
+
195
214
  Raises:
196
215
  TimeoutError: If the request times out.
197
216
  """
@@ -199,14 +218,18 @@ class AudioRecorder(ft.Service):
199
218
  "is_supported_encoder", {"encoder": encoder}, timeout=timeout
200
219
  )
201
220
 
202
- async def get_input_devices_async(self, timeout: Optional[float] = 10) -> List[InputDevice]:
221
+ async def get_input_devices_async(
222
+ self, timeout: Optional[float] = 10
223
+ ) -> list[InputDevice]:
203
224
  """
204
225
  Retrieves the available input devices for recording.
205
226
 
206
227
  Args:
207
228
  timeout: The maximum amount of time (in seconds) to wait for a response.
229
+
208
230
  Returns:
209
231
  A list of available input devices.
232
+
210
233
  Raises:
211
234
  TimeoutError: If the request times out.
212
235
  """
@@ -221,8 +244,10 @@ class AudioRecorder(ft.Service):
221
244
 
222
245
  Args:
223
246
  timeout: The maximum amount of time (in seconds) to wait for a response.
247
+
224
248
  Returns:
225
249
  `True` if the app has permission, `False` otherwise.
250
+
226
251
  Raises:
227
252
  TimeoutError: If the request times out.
228
253
  """
@@ -1,16 +1,19 @@
1
1
  from dataclasses import dataclass, field
2
2
  from enum import Enum
3
- from typing import List, Optional
3
+ from typing import TYPE_CHECKING, Optional
4
4
 
5
5
  import flet as ft
6
6
 
7
+ if TYPE_CHECKING:
8
+ from .audio_recorder import AudioRecorder # noqa
9
+
7
10
  __all__ = [
8
- "AudioRecorderState",
9
- "AudioEncoder",
10
- "AudioRecorderStateChangeEvent",
11
- "AudioRecorderConfiguration",
12
11
  "AndroidAudioSource",
13
12
  "AndroidRecorderConfiguration",
13
+ "AudioEncoder",
14
+ "AudioRecorderConfiguration",
15
+ "AudioRecorderState",
16
+ "AudioRecorderStateChangeEvent",
14
17
  "InputDevice",
15
18
  "IosAudioCategoryOption",
16
19
  "IosRecorderConfiguration",
@@ -31,7 +34,7 @@ class AudioRecorderState(Enum):
31
34
 
32
35
 
33
36
  @dataclass
34
- class AudioRecorderStateChangeEvent(ft.Event[ft.EventControlType]):
37
+ class AudioRecorderStateChangeEvent(ft.Event["AudioRecorder"]):
35
38
  state: AudioRecorderState
36
39
  """The new state of the audio recorder."""
37
40
 
@@ -43,42 +46,43 @@ class AudioEncoder(Enum):
43
46
 
44
47
  AACLC = "aacLc"
45
48
  """
46
- Advanced Audio Codec Low Complexity.
49
+ Advanced Audio Codec Low Complexity.
47
50
  A commonly used encoder for streaming and general audio recording.
48
51
  """
49
52
 
50
53
  AACELD = "aacEld"
51
54
  """
52
- Advanced Audio Codec Enhanced Low Delay.
55
+ Advanced Audio Codec Enhanced Low Delay.
53
56
  Suitable for low-latency applications like VoIP.
54
57
  """
55
58
 
56
59
  AACHE = "aacHe"
57
60
  """
58
- Advanced Audio Codec High Efficiency.
61
+ Advanced Audio Codec High Efficiency.
59
62
  Optimized for high-quality audio at lower bit rates.
60
63
  """
61
64
 
62
65
  AMRNB = "amrNb"
63
66
  """
64
- Adaptive Multi-Rate Narrow Band.
67
+ Adaptive Multi-Rate Narrow Band.
65
68
  Used for speech audio in mobile communication.
66
69
  """
67
70
 
68
71
  AMRWB = "amrWb"
69
72
  """
70
- Adaptive Multi-Rate Wide Band.
73
+ Adaptive Multi-Rate Wide Band.
71
74
  Used for higher-quality speech audio.
72
75
  """
73
76
 
74
77
  OPUS = "opus"
75
78
  """
76
- A codec designed for both speech and audio applications, known for its versatility.
79
+ A codec designed for both speech and audio applications,
80
+ known for its versatility.
77
81
  """
78
82
 
79
83
  FLAC = "flac"
80
84
  """
81
- Free Lossless Audio Codec.
85
+ Free Lossless Audio Codec.
82
86
  Provides high-quality lossless audio compression.
83
87
  """
84
88
 
@@ -113,7 +117,7 @@ class AndroidAudioSource(Enum):
113
117
 
114
118
  CAMCORDER = "camcorder"
115
119
  """
116
- Microphone audio source tuned for video recording,
120
+ Microphone audio source tuned for video recording,
117
121
  with the same orientation as the camera, if available.
118
122
  """
119
123
 
@@ -128,13 +132,13 @@ class AndroidAudioSource(Enum):
128
132
 
129
133
  UNPROCESSED = "unprocessed"
130
134
  """
131
- Microphone audio source tuned for unprocessed (raw) sound if available,
135
+ Microphone audio source tuned for unprocessed (raw) sound if available,
132
136
  behaves like `DEFAULT_SOURCE` otherwise.
133
137
  """
134
138
 
135
139
  VOICE_PERFORMANCE = "voicePerformance"
136
140
  """
137
- Source for capturing audio meant to be processed in real time
141
+ Source for capturing audio meant to be processed in real time
138
142
  and played back for live performance (e.g karaoke).
139
143
  """
140
144
 
@@ -146,15 +150,15 @@ class AndroidRecorderConfiguration:
146
150
  use_legacy: bool = False
147
151
  """
148
152
  Whether to use the Android MediaRecorder.
149
-
150
- While advanced recorder (the default) unlocks additionnal features,
153
+
154
+ While advanced recorder (the default) unlocks additionnal features,
151
155
  the legacy recorder is stability oriented.
152
156
  """
153
157
 
154
158
  mute_audio: bool = False
155
159
  """
156
160
  Whether to mute all audio streams like alarms, music, ring, etc.
157
-
161
+
158
162
  This is useful when you want to record audio without any background noise.
159
163
  The streams are restored to their previous state after recording is stopped
160
164
  and will stay at current state on pause/resume.
@@ -168,11 +172,14 @@ class AndroidRecorderConfiguration:
168
172
  audio_source: AndroidAudioSource = AndroidAudioSource.DEFAULT_SOURCE
169
173
  """
170
174
  Defines the audio source.
171
-
172
- An audio source defines both a default physical source of audio signal, and a recording configuration.
175
+
176
+ An audio source defines both a default physical source of audio signal,
177
+ and a recording configuration.
173
178
  Some effects are available or not depending on this source.
174
-
175
- Most of the time, you should use `AndroidAudioSource.DEFAULT_SOURCE` or `AndroidAudioSource.MIC`.
179
+
180
+ Most of the time, you should use
181
+ [`AndroidAudioSource.DEFAULT_SOURCE`][(p).] or
182
+ [`AndroidAudioSource.MIC`][(p).].
176
183
  """
177
184
 
178
185
 
@@ -185,7 +192,7 @@ class IosAudioCategoryOption(Enum):
185
192
 
186
193
  MIX_WITH_OTHERS = "mixWithOthers"
187
194
  """
188
- Whether audio from this session mixes with audio
195
+ Whether audio from this session mixes with audio
189
196
  from active sessions in other audio apps.
190
197
  """
191
198
 
@@ -207,30 +214,33 @@ class IosAudioCategoryOption(Enum):
207
214
  INTERRUPT_SPOKEN_AUDIO_AND_MIX_WITH_OTHERS = "interruptSpokenAudioAndMixWithOthers"
208
215
  """
209
216
  Pause spoken audio content from other sessions when your app plays its audio.
210
-
217
+
211
218
  Available from iOS 9.0.
212
219
  """
213
220
 
214
221
  ALLOW_BLUETOOTH_A2DP = "allowBluetoothA2DP"
215
222
  """
216
- Stream audio from this session to Bluetooth devices
223
+ Stream audio from this session to Bluetooth devices
217
224
  that support the Advanced Audio Distribution Profile (A2DP).
218
-
219
- Available from iOS 10.0.
225
+
226
+ Note:
227
+ Available from iOS 10.0.
220
228
  """
221
229
 
222
230
  ALLOW_AIRPLAY = "allowAirPlay"
223
231
  """
224
232
  Stream audio from this session to AirPlay devices.
225
-
226
- Available from iOS 10.0.
233
+
234
+ Note:
235
+ Available from iOS 10.0.
227
236
  """
228
237
 
229
238
  OVERRIDE_MUTED_MICROPHONE_INTERRUPTION = "overrideMutedMicrophoneInterruption"
230
239
  """
231
240
  System interrupts the audio session when it mutes the built-in microphone.
232
-
233
- Available from iOS 14.5.
241
+
242
+ Note:
243
+ Available from iOS 14.5.
234
244
  """
235
245
 
236
246
 
@@ -238,7 +248,7 @@ class IosAudioCategoryOption(Enum):
238
248
  class IosRecorderConfiguration:
239
249
  """iOS specific configuration for recording."""
240
250
 
241
- options: List[IosAudioCategoryOption] = field(
251
+ options: list[IosAudioCategoryOption] = field(
242
252
  default_factory=lambda: [
243
253
  IosAudioCategoryOption.DEFAULT_TO_SPEAKER,
244
254
  IosAudioCategoryOption.ALLOW_BLUETOOTH,
@@ -252,8 +262,9 @@ class IosRecorderConfiguration:
252
262
  manage_audio_session: bool = True
253
263
  """
254
264
  Whether to manage the shared AVAudioSession.
255
-
256
- Set this to `false` if another plugin is already managing the AVAudioSession.
265
+
266
+ Set this to `False` if another plugin is
267
+ already managing the AVAudioSession.
257
268
  """
258
269
 
259
270
 
@@ -279,21 +290,22 @@ class AudioRecorderConfiguration:
279
290
 
280
291
  suppress_noise: bool = False
281
292
  """
282
- The recorder will try to negates the input noise (if available on the device).
283
-
293
+ The recorder will try to negate the input
294
+ noise (if available on the device).
295
+
284
296
  Recording volume may be lowered by using this.
285
297
  """
286
298
 
287
299
  cancel_echo: bool = False
288
300
  """
289
301
  The recorder will try to reduce echo (if available on the device).
290
-
302
+
291
303
  Recording volume may be lowered by using this.
292
304
  """
293
305
 
294
306
  auto_gain: bool = False
295
307
  """
296
- The recorder will try to auto adjust recording volume in a
308
+ The recorder will try to auto adjust recording volume in a
297
309
  limited range (if available on the device).
298
310
 
299
311
  Recording volume may be lowered by using this.
@@ -301,8 +313,12 @@ class AudioRecorderConfiguration:
301
313
 
302
314
  channels: int = 2
303
315
  """
304
- The numbers of channels for the recording: `1` = mono, `2` = stereo
305
- Most platforms only accept 2 at most.
316
+ The numbers of channels for the recording.
317
+
318
+ - `1` for mono
319
+ - `2` for stereo
320
+
321
+ Most platforms only accept at most 2 channels.
306
322
  """
307
323
 
308
324
  sample_rate: int = 44100
@@ -317,7 +333,8 @@ class AudioRecorderConfiguration:
317
333
 
318
334
  device: Optional[InputDevice] = None
319
335
  """
320
- The device to be used for recording.
336
+ The device to be used for recording.
337
+
321
338
  If `None`, default device will be selected.
322
339
  """
323
340
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flet-audio-recorder
3
- Version: 0.2.0.dev55
3
+ Version: 0.2.0.dev64
4
4
  Summary: Adds audio recording support to Flet apps.
5
5
  Author-email: Flet contributors <hello@flet.dev>
6
6
  License-Expression: Apache-2.0
@@ -134,7 +134,7 @@ packages:
134
134
  description:
135
135
  path: "packages/flet"
136
136
  ref: main
137
- resolved-ref: b996d06ff462b88f5b31d6cceafac34ea6f57968
137
+ resolved-ref: cf8823c5d766ea7866480986aa3ee871f4091e78
138
138
  url: "https://github.com/flet-dev/flet.git"
139
139
  source: git
140
140
  version: "0.70.0"
@@ -155,10 +155,10 @@ packages:
155
155
  dependency: "direct dev"
156
156
  description:
157
157
  name: flutter_lints
158
- sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
158
+ sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1"
159
159
  url: "https://pub.dev"
160
160
  source: hosted
161
- version: "2.0.3"
161
+ version: "3.0.2"
162
162
  flutter_localizations:
163
163
  dependency: transitive
164
164
  description: flutter
@@ -266,10 +266,10 @@ packages:
266
266
  dependency: transitive
267
267
  description:
268
268
  name: lints
269
- sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
269
+ sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
270
270
  url: "https://pub.dev"
271
271
  source: hosted
272
- version: "2.1.1"
272
+ version: "3.0.0"
273
273
  logging:
274
274
  dependency: transitive
275
275
  description:
@@ -823,10 +823,10 @@ packages:
823
823
  dependency: transitive
824
824
  description:
825
825
  name: window_manager
826
- sha256: "51d50168ab267d344b975b15390426b1243600d436770d3f13de67e55b05ec16"
826
+ sha256: "7eb6d6c4164ec08e1bf978d6e733f3cebe792e2a23fb07cbca25c2872bfdbdcd"
827
827
  url: "https://pub.dev"
828
828
  source: hosted
829
- version: "0.5.0"
829
+ version: "0.5.1"
830
830
  window_to_front:
831
831
  dependency: transitive
832
832
  description:
@@ -20,4 +20,4 @@ dependencies:
20
20
  dev_dependencies:
21
21
  flutter_test:
22
22
  sdk: flutter
23
- flutter_lints: ^2.0.0
23
+ flutter_lints: ^3.0.0