flet-audio-recorder 0.2.0.dev55__py3-none-any.whl → 0.2.0.dev64__py3-none-any.whl
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.
Potentially problematic release.
This version of flet-audio-recorder might be problematic. Click here for more details.
- flet_audio_recorder/__init__.py +13 -0
- flet_audio_recorder/audio_recorder.py +40 -15
- flet_audio_recorder/types.py +59 -42
- {flet_audio_recorder-0.2.0.dev55.dist-info → flet_audio_recorder-0.2.0.dev64.dist-info}/METADATA +1 -1
- {flet_audio_recorder-0.2.0.dev55.dist-info → flet_audio_recorder-0.2.0.dev64.dist-info}/RECORD +10 -10
- flutter/flet_audio_recorder/pubspec.lock +7 -7
- flutter/flet_audio_recorder/pubspec.yaml +1 -1
- {flet_audio_recorder-0.2.0.dev55.dist-info → flet_audio_recorder-0.2.0.dev64.dist-info}/WHEEL +0 -0
- {flet_audio_recorder-0.2.0.dev55.dist-info → flet_audio_recorder-0.2.0.dev64.dist-info}/licenses/LICENSE +0 -0
- {flet_audio_recorder-0.2.0.dev55.dist-info → flet_audio_recorder-0.2.0.dev64.dist-info}/top_level.txt +0 -0
flet_audio_recorder/__init__.py
CHANGED
|
@@ -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
|
|
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
|
|
23
|
-
|
|
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
|
|
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.
|
|
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
|
-
|
|
69
|
-
)
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
"""
|
flet_audio_recorder/types.py
CHANGED
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
from dataclasses import dataclass, field
|
|
2
2
|
from enum import Enum
|
|
3
|
-
from typing import
|
|
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[
|
|
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,
|
|
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,
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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 `
|
|
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
|
|
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
|
|
305
|
-
|
|
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
|
|
{flet_audio_recorder-0.2.0.dev55.dist-info → flet_audio_recorder-0.2.0.dev64.dist-info}/RECORD
RENAMED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
flet_audio_recorder/__init__.py,sha256=
|
|
2
|
-
flet_audio_recorder/audio_recorder.py,sha256=
|
|
3
|
-
flet_audio_recorder/types.py,sha256=
|
|
4
|
-
flet_audio_recorder-0.2.0.
|
|
1
|
+
flet_audio_recorder/__init__.py,sha256=oAvNVxOwS2x1gSk7I4rZBO-AmJK2yOFNux0j2R4zdbM,603
|
|
2
|
+
flet_audio_recorder/audio_recorder.py,sha256=VQEb-kfYQCnH8hmtB0cHV3C4xRCapWoNl11MinLHYng,8146
|
|
3
|
+
flet_audio_recorder/types.py,sha256=EL1MPfsJIcDpf_lTMgjnXCBrLyQX_K-LdNfHakf0Aso,8696
|
|
4
|
+
flet_audio_recorder-0.2.0.dev64.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
5
5
|
flutter/flet_audio_recorder/CHANGELOG.md,sha256=66sWepPaeTc9_lzcYIGU55AlxSU5Z1XVtknXpzd_-p8,40
|
|
6
6
|
flutter/flet_audio_recorder/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
|
|
7
7
|
flutter/flet_audio_recorder/README.md,sha256=KcVP2UEKbA9P0r3i2GimRFFLwOqV3Az_7IjZYEXhd8w,76
|
|
8
8
|
flutter/flet_audio_recorder/analysis_options.yaml,sha256=32kjGAc-zF87inWaH5M46yGZWQDTwrwfvNLHeAocfG4,154
|
|
9
|
-
flutter/flet_audio_recorder/pubspec.lock,sha256=
|
|
10
|
-
flutter/flet_audio_recorder/pubspec.yaml,sha256=
|
|
9
|
+
flutter/flet_audio_recorder/pubspec.lock,sha256=i2alVemiFkJw7slrg5PQ567FBgVjWddbx0cjlOjANVQ,25379
|
|
10
|
+
flutter/flet_audio_recorder/pubspec.yaml,sha256=604ZbToAyl_fE4y0gTzQhiIs5uL_o2tKTJX0JCMA40Q,538
|
|
11
11
|
flutter/flet_audio_recorder/lib/flet_audio_recorder.dart,sha256=x-KG1v-Qb_AiSyH9Y2Jt9PIYPxl_mQjXeIg_BDEQ0iQ,65
|
|
12
12
|
flutter/flet_audio_recorder/lib/src/audio_recorder.dart,sha256=IfTcKQgG7CYgSe8Rte4byeAXq550uFpWB2OKxFy2AGc,2776
|
|
13
13
|
flutter/flet_audio_recorder/lib/src/extension.dart,sha256=cmay1aBCZjTypBIxLzCnvJksP_rjbqMnWrnF5i-Gvfo,324
|
|
14
14
|
flutter/flet_audio_recorder/lib/src/utils/audio_recorder.dart,sha256=E2qc2hYv1qiIokffIV2rLP-4Q9X0Bv-Pr3lZsHQCbGo,2824
|
|
15
|
-
flet_audio_recorder-0.2.0.
|
|
16
|
-
flet_audio_recorder-0.2.0.
|
|
17
|
-
flet_audio_recorder-0.2.0.
|
|
18
|
-
flet_audio_recorder-0.2.0.
|
|
15
|
+
flet_audio_recorder-0.2.0.dev64.dist-info/METADATA,sha256=SElvM4DOm8GlEJ1TI5EXZxdF_fgStytyEqOISCMeY7I,2169
|
|
16
|
+
flet_audio_recorder-0.2.0.dev64.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
17
|
+
flet_audio_recorder-0.2.0.dev64.dist-info/top_level.txt,sha256=fi4uOe4C7Pitw9OIzx7l0TgjkYomndtLYrQg8mjD-iA,28
|
|
18
|
+
flet_audio_recorder-0.2.0.dev64.dist-info/RECORD,,
|
|
@@ -134,7 +134,7 @@ packages:
|
|
|
134
134
|
description:
|
|
135
135
|
path: "packages/flet"
|
|
136
136
|
ref: main
|
|
137
|
-
resolved-ref:
|
|
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:
|
|
158
|
+
sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1"
|
|
159
159
|
url: "https://pub.dev"
|
|
160
160
|
source: hosted
|
|
161
|
-
version: "
|
|
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:
|
|
269
|
+
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
|
270
270
|
url: "https://pub.dev"
|
|
271
271
|
source: hosted
|
|
272
|
-
version: "
|
|
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: "
|
|
826
|
+
sha256: "7eb6d6c4164ec08e1bf978d6e733f3cebe792e2a23fb07cbca25c2872bfdbdcd"
|
|
827
827
|
url: "https://pub.dev"
|
|
828
828
|
source: hosted
|
|
829
|
-
version: "0.5.
|
|
829
|
+
version: "0.5.1"
|
|
830
830
|
window_to_front:
|
|
831
831
|
dependency: transitive
|
|
832
832
|
description:
|
{flet_audio_recorder-0.2.0.dev55.dist-info → flet_audio_recorder-0.2.0.dev64.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|