flet-audio 0.2.0.dev511__py3-none-any.whl → 0.70.0.dev6619__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 might be problematic. Click here for more details.

flet_audio/audio.py CHANGED
@@ -1,7 +1,6 @@
1
1
  from typing import Optional
2
2
 
3
3
  import flet as ft
4
-
5
4
  from flet_audio.types import (
6
5
  AudioDurationChangeEvent,
7
6
  AudioPositionChangeEvent,
@@ -14,14 +13,6 @@ from flet_audio.types import (
14
13
  class Audio(ft.Service):
15
14
  """
16
15
  A control to simultaneously play multiple audio sources.
17
-
18
- Raises:
19
- AssertionError: If both [`src`][(c).] and [`src_base64`][(c).] are `None`.
20
-
21
- Note:
22
- This control is non-visual and should be added to
23
- [`Page.services`][flet.Page.services]
24
- list before it can be used.
25
16
  """
26
17
 
27
18
  src: Optional[str] = None
@@ -34,6 +25,9 @@ class Audio(ft.Service):
34
25
  provided, with `src_base64` having priority if both are provided.
35
26
  - [Here](https://github.com/bluefireteam/audioplayers/blob/main/troubleshooting.md#supported-formats--encodings)
36
27
  is a list of supported audio formats.
28
+
29
+ Raises:
30
+ ValueError: If both `src` and [`src_base64`][(c).] are `None`.
37
31
  """
38
32
 
39
33
  src_base64: Optional[str] = None
@@ -45,6 +39,9 @@ class Audio(ft.Service):
45
39
  provided, with `src_base64` having priority if both are provided.
46
40
  - [Here](https://github.com/bluefireteam/audioplayers/blob/main/troubleshooting.md#supported-formats--encodings)
47
41
  is a list of supported audio formats.
42
+
43
+ Raises:
44
+ ValueError: If both `src_base64` and [`src`][(c).] are `None`.
48
45
  """
49
46
 
50
47
  autoplay: bool = False
@@ -121,113 +118,77 @@ class Audio(ft.Service):
121
118
 
122
119
  def before_update(self):
123
120
  super().before_update()
124
- assert self.src or self.src_base64, "either src or src_base64 must be provided"
121
+ if not (self.src or self.src_base64):
122
+ raise ValueError("either src or src_base64 must be provided")
125
123
 
126
- async def play(self, position: ft.DurationValue = 0, timeout: Optional[float] = 10):
124
+ async def play(self, position: ft.DurationValue = 0):
127
125
  """
128
126
  Starts playing audio from the specified `position`.
129
127
 
130
128
  Args:
131
129
  position: The position to start playback from.
132
- timeout: The maximum amount of time (in seconds) to wait for a response.
133
-
134
- Raises:
135
- TimeoutError: If the request times out.
136
130
  """
137
131
  await self._invoke_method(
138
132
  method_name="play",
139
133
  arguments={"position": position},
140
- timeout=timeout,
141
134
  )
142
135
 
143
- async def pause(self, timeout: Optional[float] = 10):
136
+ async def pause(self):
144
137
  """
145
138
  Pauses the audio that is currently playing.
146
139
 
147
140
  If you call [`resume()`][flet_audio.Audio.resume] later,
148
141
  the audio will resume from the point that it has been paused.
149
142
  """
150
- await self._invoke_method("pause", timeout=timeout)
143
+ await self._invoke_method("pause")
151
144
 
152
- async def resume(self, timeout: Optional[float] = 10):
145
+ async def resume(self):
153
146
  """
154
147
  Resumes the audio that has been paused or stopped.
155
-
156
- Args:
157
- timeout: The maximum amount of time (in seconds) to wait for a response.
158
-
159
- Raises:
160
- TimeoutError: If the request times out.
161
148
  """
162
- await self._invoke_method("resume", timeout=timeout)
149
+ await self._invoke_method("resume")
163
150
 
164
- async def release(self, timeout: Optional[float] = 10):
151
+ async def release(self):
165
152
  """
166
153
  Releases the resources associated with this media player.
167
154
  These are going to be fetched or buffered again as soon as
168
155
  you change the source or call [`resume()`][flet_audio.Audio.resume].
169
-
170
- Args:
171
- timeout: The maximum amount of time (in seconds) to wait for a response.
172
-
173
- Raises:
174
- TimeoutError: If the request times out.
175
156
  """
176
- await self._invoke_method("release", timeout=timeout)
157
+ await self._invoke_method("release")
177
158
 
178
- async def seek(self, position: ft.DurationValue, timeout: Optional[float] = 10):
159
+ async def seek(self, position: ft.DurationValue):
179
160
  """
180
161
  Moves the cursor to the desired position.
181
162
 
182
163
  Args:
183
164
  position: The position to seek/move to.
184
- timeout: The maximum amount of time (in seconds) to wait for a response.
185
-
186
- Raises:
187
- TimeoutError: If the request times out.
188
165
  """
189
166
  await self._invoke_method(
190
167
  method_name="seek",
191
168
  arguments={"position": position},
192
- timeout=timeout,
193
169
  )
194
170
 
195
- async def get_duration(
196
- self, timeout: Optional[float] = 10
197
- ) -> Optional[ft.Duration]:
171
+ async def get_duration(self) -> Optional[ft.Duration]:
198
172
  """
199
173
  Get audio duration of the audio playback.
200
174
 
201
175
  It will be available as soon as the audio duration is available
202
176
  (it might take a while to download or buffer it if file is not local).
203
177
 
204
- Args:
205
- timeout: The maximum amount of time (in seconds) to wait for a response.
206
-
207
178
  Returns:
208
179
  The duration of audio playback.
209
-
210
- Raises:
211
- TimeoutError: If the request times out.
212
180
  """
213
181
  return await self._invoke_method(
214
182
  method_name="get_duration",
215
- timeout=timeout,
216
183
  )
217
184
 
218
- async def get_current_position(
219
- self, timeout: Optional[float] = 10
220
- ) -> Optional[ft.Duration]:
185
+ async def get_current_position(self) -> Optional[ft.Duration]:
221
186
  """
222
187
  Get the current position of the audio playback.
223
188
 
224
- Args:
225
- timeout: The maximum amount of time (in seconds) to wait for a response.
226
-
227
189
  Returns:
228
190
  The current position of the audio playback.
229
191
  """
230
192
  return await self._invoke_method(
231
193
  method_name="get_current_position",
232
- timeout=timeout,
233
194
  )
@@ -0,0 +1,67 @@
1
+ Metadata-Version: 2.4
2
+ Name: flet-audio
3
+ Version: 0.70.0.dev6619
4
+ Summary: Provides audio integration and playback in Flet apps.
5
+ Author-email: Flet contributors <hello@flet.dev>
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Homepage, https://flet.dev
8
+ Project-URL: Documentation, https://docs.flet.dev/audio
9
+ Project-URL: Repository, https://github.com/flet-dev/flet/tree/main/sdk/python/packages/flet-audio
10
+ Project-URL: Issues, https://github.com/flet-dev/flet/issues
11
+ Requires-Python: >=3.10
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE
14
+ Requires-Dist: flet==0.70.0.dev6619
15
+ Dynamic: license-file
16
+
17
+ # flet-audio
18
+
19
+ [![pypi](https://img.shields.io/pypi/v/flet-audio.svg)](https://pypi.python.org/pypi/flet-audio)
20
+ [![downloads](https://static.pepy.tech/badge/flet-audio/month)](https://pepy.tech/project/flet-audio)
21
+ [![license](https://img.shields.io/badge/License-Apache_2.0-green.svg)](https://github.com/flet-dev/flet/blob/main/sdk/python/packages/flet-audio/LICENSE)
22
+
23
+ A [Flet](https://flet.dev) extension package for playing audio.
24
+
25
+ It is based on the [audioplayers](https://pub.dev/packages/audioplayers) Flutter package.
26
+
27
+ ## Documentation
28
+
29
+ Detailed documentation to this package can be found [here](https://docs.flet.dev/audio/).
30
+
31
+ ## Platform Support
32
+
33
+ | Platform | Windows | macOS | Linux | iOS | Android | Web |
34
+ |----------|---------|-------|-------|-----|---------|-----|
35
+ | Supported| ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
36
+
37
+ ## Usage
38
+
39
+ ### Installation
40
+
41
+ To install the `flet-audio` package and add it to your project dependencies:
42
+
43
+ - Using `uv`:
44
+ ```bash
45
+ uv add flet-audio
46
+ ```
47
+
48
+ - Using `pip`:
49
+ ```bash
50
+ pip install flet-audio
51
+ ```
52
+ After this, you will have to manually add this package to your `requirements.txt` or `pyproject.toml`.
53
+
54
+ > [!NOTE]
55
+ > On Linux/WSL, you need to install [`GStreamer`](https://github.com/GStreamer/gstreamer) library.
56
+ >
57
+ > If you receive `error while loading shared libraries: libgstapp-1.0.so.0`, it means `GStreamer` is not installed in your WSL environment.
58
+ >
59
+ > To install it, run the following command:
60
+ >
61
+ > ```bash
62
+ > apt install -y libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools
63
+ > ```
64
+
65
+ ### Examples
66
+
67
+ For examples, see [these](https://github.com/flet-dev/flet/tree/main/sdk/python/examples/controls/audio).
@@ -0,0 +1,15 @@
1
+ flet_audio/__init__.py,sha256=w1U2RdGkcYl_V-bGG1oKQExQ80axXqOyOZL4D6bJAcE,346
2
+ flet_audio/audio.py,sha256=GEoa5qUCJrgcUmfvWf5sv2Waoa6x32vWYwNaHw9HL-Q,5806
3
+ flet_audio/types.py,sha256=jhmP0-kowX5MzYezBvzDHmj7YQ7uxdY5FtNGX2qEWlk,2340
4
+ flet_audio-0.70.0.dev6619.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
5
+ flutter/flet_audio/analysis_options.yaml,sha256=32kjGAc-zF87inWaH5M46yGZWQDTwrwfvNLHeAocfG4,154
6
+ flutter/flet_audio/pubspec.lock,sha256=K3Oe7sbpGzixJo-jiU2LD_gn06AHeD6VeYIkMXr0JPU,25614
7
+ flutter/flet_audio/pubspec.yaml,sha256=KTuaPDPr1Nnh6yAGddLMsZAUizj_kqlROyCy9_fG2TI,359
8
+ flutter/flet_audio/lib/flet_audio.dart,sha256=JsHEW9Gic_011jhKpnn278pi1kiWjp9gUjfNF5rWmXs,65
9
+ flutter/flet_audio/lib/src/audio.dart,sha256=ExGoAU9pIlR5z6ptVDXRMhD5NktkBljN9OgRy5InfIw,5108
10
+ flutter/flet_audio/lib/src/extension.dart,sha256=okI-bxwSUB9FwgJ7TmiiHcE5yi5z66Yp1ri--V1wVnw,299
11
+ flutter/flet_audio/lib/src/utils/audio.dart,sha256=Rpbf7xJkNB3xtwrfmXru1t2k3_TgPEnh3Ws6i_2J0EQ,346
12
+ flet_audio-0.70.0.dev6619.dist-info/METADATA,sha256=zL5S3roY_FSq4Ckq86PvEhdw-VVvfULiYkUoP1rhs-8,2403
13
+ flet_audio-0.70.0.dev6619.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
14
+ flet_audio-0.70.0.dev6619.dist-info/top_level.txt,sha256=hZbGOXppSiKRUWJf1ZRlBKMyfijq6Y-8DffGOh10Wq4,19
15
+ flet_audio-0.70.0.dev6619.dist-info/RECORD,,
@@ -109,18 +109,18 @@ packages:
109
109
  dependency: transitive
110
110
  description:
111
111
  name: cross_file
112
- sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670"
112
+ sha256: "942a4791cd385a68ccb3b32c71c427aba508a1bb949b86dff2adbe4049f16239"
113
113
  url: "https://pub.dev"
114
114
  source: hosted
115
- version: "0.3.4+2"
115
+ version: "0.3.5"
116
116
  crypto:
117
117
  dependency: transitive
118
118
  description:
119
119
  name: crypto
120
- sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855"
120
+ sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf
121
121
  url: "https://pub.dev"
122
122
  source: hosted
123
- version: "3.0.6"
123
+ version: "3.0.7"
124
124
  dbus:
125
125
  dependency: transitive
126
126
  description:
@@ -133,10 +133,10 @@ packages:
133
133
  dependency: transitive
134
134
  description:
135
135
  name: device_info_plus
136
- sha256: "98f28b42168cc509abc92f88518882fd58061ea372d7999aecc424345c7bff6a"
136
+ sha256: dd0e8e02186b2196c7848c9d394a5fd6e5b57a43a546082c5820b1ec72317e33
137
137
  url: "https://pub.dev"
138
138
  source: hosted
139
- version: "11.5.0"
139
+ version: "12.2.0"
140
140
  device_info_plus_platform_interface:
141
141
  dependency: transitive
142
142
  description:
@@ -196,11 +196,9 @@ packages:
196
196
  flet:
197
197
  dependency: "direct main"
198
198
  description:
199
- path: "packages/flet"
200
- ref: main
201
- resolved-ref: cbdae3a51670e2a124bbe5883280302efffcb3e0
202
- url: "https://github.com/flet-dev/flet.git"
203
- source: git
199
+ path: "../../../../../../../packages/flet"
200
+ relative: true
201
+ source: path
204
202
  version: "0.70.0"
205
203
  flutter:
206
204
  dependency: "direct main"
@@ -240,18 +238,18 @@ packages:
240
238
  dependency: transitive
241
239
  description:
242
240
  name: flutter_plugin_android_lifecycle
243
- sha256: b0694b7fb1689b0e6cc193b3f1fcac6423c4f93c74fb20b806c6b6f196db0c31
241
+ sha256: "306f0596590e077338312f38837f595c04f28d6cdeeac392d3d74df2f0003687"
244
242
  url: "https://pub.dev"
245
243
  source: hosted
246
- version: "2.0.30"
244
+ version: "2.0.32"
247
245
  flutter_svg:
248
246
  dependency: transitive
249
247
  description:
250
248
  name: flutter_svg
251
- sha256: d44bf546b13025ec7353091516f6881f1d4c633993cb109c3916c3a0159dadf1
249
+ sha256: b9c2ad5872518a27507ab432d1fb97e8813b05f0fc693f9d40fad06d073e0678
252
250
  url: "https://pub.dev"
253
251
  source: hosted
254
- version: "2.1.0"
252
+ version: "2.2.1"
255
253
  flutter_test:
256
254
  dependency: "direct dev"
257
255
  description: flutter
@@ -274,10 +272,10 @@ packages:
274
272
  dependency: transitive
275
273
  description:
276
274
  name: http
277
- sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f
275
+ sha256: bb2ce4590bc2667c96f318d68cac1b5a7987ec819351d32b1c987239a815e007
278
276
  url: "https://pub.dev"
279
277
  source: hosted
280
- version: "1.3.0"
278
+ version: "1.5.0"
281
279
  http_parser:
282
280
  dependency: transitive
283
281
  description:
@@ -418,18 +416,18 @@ packages:
418
416
  dependency: transitive
419
417
  description:
420
418
  name: path_provider_android
421
- sha256: "993381400e94d18469750e5b9dcb8206f15bc09f9da86b9e44a9b0092a0066db"
419
+ sha256: e122c5ea805bb6773bb12ce667611265980940145be920cd09a4b0ec0285cb16
422
420
  url: "https://pub.dev"
423
421
  source: hosted
424
- version: "2.2.18"
422
+ version: "2.2.20"
425
423
  path_provider_foundation:
426
424
  dependency: transitive
427
425
  description:
428
426
  name: path_provider_foundation
429
- sha256: "16eef174aacb07e09c351502740fa6254c165757638eba1e9116b0a781201bbd"
427
+ sha256: efaec349ddfc181528345c56f8eda9d6cccd71c177511b132c6a0ddaefaa2738
430
428
  url: "https://pub.dev"
431
429
  source: hosted
432
- version: "2.4.2"
430
+ version: "2.4.3"
433
431
  path_provider_linux:
434
432
  dependency: transitive
435
433
  description:
@@ -554,26 +552,26 @@ packages:
554
552
  dependency: transitive
555
553
  description:
556
554
  name: shared_preferences
557
- sha256: "846849e3e9b68f3ef4b60c60cf4b3e02e9321bc7f4d8c4692cf87ffa82fc8a3a"
555
+ sha256: "6e8bf70b7fef813df4e9a36f658ac46d107db4b4cfe1048b477d4e453a8159f5"
558
556
  url: "https://pub.dev"
559
557
  source: hosted
560
- version: "2.5.2"
558
+ version: "2.5.3"
561
559
  shared_preferences_android:
562
560
  dependency: transitive
563
561
  description:
564
562
  name: shared_preferences_android
565
- sha256: a2608114b1ffdcbc9c120eb71a0e207c71da56202852d4aab8a5e30a82269e74
563
+ sha256: "34266009473bf71d748912da4bf62d439185226c03e01e2d9687bc65bbfcb713"
566
564
  url: "https://pub.dev"
567
565
  source: hosted
568
- version: "2.4.12"
566
+ version: "2.4.15"
569
567
  shared_preferences_foundation:
570
568
  dependency: transitive
571
569
  description:
572
570
  name: shared_preferences_foundation
573
- sha256: "6a52cfcdaeac77cad8c97b539ff688ccfc458c007b4db12be584fbe5c0e49e03"
571
+ sha256: "1c33a907142607c40a7542768ec9badfd16293bac51da3a4482623d15845f88b"
574
572
  url: "https://pub.dev"
575
573
  source: hosted
576
- version: "2.5.4"
574
+ version: "2.5.5"
577
575
  shared_preferences_linux:
578
576
  dependency: transitive
579
577
  description:
@@ -619,14 +617,6 @@ packages:
619
617
  url: "https://pub.dev"
620
618
  source: hosted
621
619
  version: "1.10.1"
622
- sprintf:
623
- dependency: transitive
624
- description:
625
- name: sprintf
626
- sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23"
627
- url: "https://pub.dev"
628
- source: hosted
629
- version: "7.0.0"
630
620
  stack_trace:
631
621
  dependency: transitive
632
622
  description:
@@ -687,26 +677,26 @@ packages:
687
677
  dependency: transitive
688
678
  description:
689
679
  name: url_launcher
690
- sha256: "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603"
680
+ sha256: f6a7e5c4835bb4e3026a04793a4199ca2d14c739ec378fdfe23fc8075d0439f8
691
681
  url: "https://pub.dev"
692
682
  source: hosted
693
- version: "6.3.1"
683
+ version: "6.3.2"
694
684
  url_launcher_android:
695
685
  dependency: transitive
696
686
  description:
697
687
  name: url_launcher_android
698
- sha256: "199bc33e746088546a39cc5f36bac5a278c5e53b40cb3196f99e7345fdcfae6b"
688
+ sha256: "5c8b6c2d89a78f5a1cca70a73d9d5f86c701b36b42f9c9dac7bad592113c28e9"
699
689
  url: "https://pub.dev"
700
690
  source: hosted
701
- version: "6.3.22"
691
+ version: "6.3.24"
702
692
  url_launcher_ios:
703
693
  dependency: transitive
704
694
  description:
705
695
  name: url_launcher_ios
706
- sha256: d80b3f567a617cb923546034cc94bfe44eb15f989fe670b37f26abdb9d939cb7
696
+ sha256: "6b63f1441e4f653ae799166a72b50b1767321ecc263a57aadf825a7a2a5477d9"
707
697
  url: "https://pub.dev"
708
698
  source: hosted
709
- version: "6.3.4"
699
+ version: "6.3.5"
710
700
  url_launcher_linux:
711
701
  dependency: transitive
712
702
  description:
@@ -719,10 +709,10 @@ packages:
719
709
  dependency: transitive
720
710
  description:
721
711
  name: url_launcher_macos
722
- sha256: c043a77d6600ac9c38300567f33ef12b0ef4f4783a2c1f00231d2b1941fea13f
712
+ sha256: "8262208506252a3ed4ff5c0dc1e973d2c0e0ef337d0a074d35634da5d44397c9"
723
713
  url: "https://pub.dev"
724
714
  source: hosted
725
- version: "3.2.3"
715
+ version: "3.2.4"
726
716
  url_launcher_platform_interface:
727
717
  dependency: transitive
728
718
  description:
@@ -751,10 +741,10 @@ packages:
751
741
  dependency: transitive
752
742
  description:
753
743
  name: uuid
754
- sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff
744
+ sha256: a11b666489b1954e01d992f3d601b1804a33937b5a8fe677bd26b8a9f96f96e8
755
745
  url: "https://pub.dev"
756
746
  source: hosted
757
- version: "4.5.1"
747
+ version: "4.5.2"
758
748
  vector_graphics:
759
749
  dependency: transitive
760
750
  description:
@@ -823,10 +813,10 @@ packages:
823
813
  dependency: transitive
824
814
  description:
825
815
  name: win32
826
- sha256: "66814138c3562338d05613a6e368ed8cfb237ad6d64a9e9334be3f309acfca03"
816
+ sha256: d7cb55e04cd34096cd3a79b3330245f54cb96a370a1c27adb3c84b917de8b08e
827
817
  url: "https://pub.dev"
828
818
  source: hosted
829
- version: "5.14.0"
819
+ version: "5.15.0"
830
820
  win32_registry:
831
821
  dependency: transitive
832
822
  description:
@@ -1,22 +1,22 @@
1
1
  name: flet_audio
2
2
  description: Flet Audio control
3
- homepage: https://flet.dev
4
- repository: https://github.com/flet-dev/flet-audio/src/flutter/flet_audio
5
- version: 0.2.0
3
+ version: 0.1.0
6
4
  publish_to: none
5
+
7
6
  environment:
8
7
  sdk: '>=3.2.3 <4.0.0'
9
- flutter: '>=1.17.0'
8
+ flutter: ">=1.17.0"
9
+
10
10
  dependencies:
11
11
  flutter:
12
12
  sdk: flutter
13
+
13
14
  collection: ^1.16.0
14
- audioplayers: ^6.4.0
15
+ audioplayers: 6.5.1
16
+
15
17
  flet:
16
- git:
17
- url: https://github.com/flet-dev/flet.git
18
- path: packages/flet
19
- ref: main
18
+ path: ../../../../../../../packages/flet
19
+
20
20
  dev_dependencies:
21
21
  flutter_test:
22
22
  sdk: flutter
@@ -1,68 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: flet-audio
3
- Version: 0.2.0.dev511
4
- Summary: Eases audio integration and playback in Flet apps.
5
- Author-email: Flet contributors <hello@flet.dev>
6
- License-Expression: Apache-2.0
7
- Project-URL: Homepage, https://flet.dev
8
- Project-URL: Documentation, https://flet-dev.github.io/flet-audio
9
- Project-URL: Repository, https://github.com/flet-dev/flet-audio
10
- Project-URL: Issues, https://github.com/flet-dev/flet-audio/issues
11
- Requires-Python: >=3.10
12
- Description-Content-Type: text/markdown
13
- License-File: LICENSE
14
- Requires-Dist: flet>=0.70.0.dev0
15
- Dynamic: license-file
16
-
17
- # flet-audio
18
-
19
- [![pypi](https://img.shields.io/pypi/v/flet-audio.svg)](https://pypi.python.org/pypi/flet-audio)
20
- [![downloads](https://static.pepy.tech/badge/flet-audio/month)](https://pepy.tech/project/flet-audio)
21
- [![license](https://img.shields.io/github/license/flet-dev/flet-audio.svg)](https://github.com/flet-dev/flet-audio/blob/main/LICENSE)
22
-
23
- A [Flet](https://flet.dev) extension package for displaying audio animations.
24
-
25
- It is based on the [audioplayers](https://pub.dev/packages/audioplayers) Flutter package.
26
-
27
- ## Documentation
28
-
29
- Detailed documentation to this package can be found [here](https://flet-dev.github.io/flet-audio/).
30
-
31
- ## Platform Support
32
-
33
- This package supports the following platforms:
34
-
35
- | Platform | Supported |
36
- |----------|:---------:|
37
- | Windows | ✅ |
38
- | macOS | ✅ |
39
- | Linux | ✅ |
40
- | iOS | ✅ |
41
- | Android | ✅ |
42
- | Web | ✅ |
43
-
44
- ## Usage
45
-
46
- ### Installation
47
-
48
- To install the `flet-audio` package and add it to your project dependencies:
49
-
50
- - Using `uv`:
51
- ```bash
52
- uv add flet-audio
53
- ```
54
-
55
- - Using `pip`:
56
- ```bash
57
- pip install flet-audio
58
- ```
59
- After this, you will have to manually add this package to your `requirements.txt` or `pyproject.toml`.
60
-
61
- - Using `poetry`:
62
- ```bash
63
- poetry add flet-audio
64
- ```
65
-
66
- ### Examples
67
-
68
- For examples, see [these](./examples).
@@ -1,18 +0,0 @@
1
- flet_audio/__init__.py,sha256=w1U2RdGkcYl_V-bGG1oKQExQ80axXqOyOZL4D6bJAcE,346
2
- flet_audio/audio.py,sha256=D-VoqbSwcPCvk_kQr4JDd7AjguOF4N-cHelAk33CO18,7181
3
- flet_audio/types.py,sha256=jhmP0-kowX5MzYezBvzDHmj7YQ7uxdY5FtNGX2qEWlk,2340
4
- flet_audio-0.2.0.dev511.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
5
- flutter/flet_audio/CHANGELOG.md,sha256=66sWepPaeTc9_lzcYIGU55AlxSU5Z1XVtknXpzd_-p8,40
6
- flutter/flet_audio/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
7
- flutter/flet_audio/README.md,sha256=BEITqZ4okarTGCquI4ii6tdffGm2qyxMkMZbsedCwLQ,60
8
- flutter/flet_audio/analysis_options.yaml,sha256=32kjGAc-zF87inWaH5M46yGZWQDTwrwfvNLHeAocfG4,154
9
- flutter/flet_audio/pubspec.lock,sha256=y9Yfp4KEkvoQXiaGIc4PV_fL7h43EMOemwXy5KX_kl8,25929
10
- flutter/flet_audio/pubspec.yaml,sha256=AzhTbc7Ccloq9APOXFIgTgkPSivh_g1ONnzKpv-zf3M,510
11
- flutter/flet_audio/lib/flet_audio.dart,sha256=JsHEW9Gic_011jhKpnn278pi1kiWjp9gUjfNF5rWmXs,65
12
- flutter/flet_audio/lib/src/audio.dart,sha256=ExGoAU9pIlR5z6ptVDXRMhD5NktkBljN9OgRy5InfIw,5108
13
- flutter/flet_audio/lib/src/extension.dart,sha256=okI-bxwSUB9FwgJ7TmiiHcE5yi5z66Yp1ri--V1wVnw,299
14
- flutter/flet_audio/lib/src/utils/audio.dart,sha256=Rpbf7xJkNB3xtwrfmXru1t2k3_TgPEnh3Ws6i_2J0EQ,346
15
- flet_audio-0.2.0.dev511.dist-info/METADATA,sha256=eK2ZMn6cnaV7RKRxV1Y8d-CGWBfIrNuUWNz4VNeKceY,1950
16
- flet_audio-0.2.0.dev511.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
17
- flet_audio-0.2.0.dev511.dist-info/top_level.txt,sha256=hZbGOXppSiKRUWJf1ZRlBKMyfijq6Y-8DffGOh10Wq4,19
18
- flet_audio-0.2.0.dev511.dist-info/RECORD,,
@@ -1,3 +0,0 @@
1
- # 0.1.0
2
-
3
- Initial release of the package.
@@ -1,201 +0,0 @@
1
- Apache License
2
- Version 2.0, January 2004
3
- http://www.apache.org/licenses/
4
-
5
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
-
7
- 1. Definitions.
8
-
9
- "License" shall mean the terms and conditions for use, reproduction,
10
- and distribution as defined by Sections 1 through 9 of this document.
11
-
12
- "Licensor" shall mean the copyright owner or entity authorized by
13
- the copyright owner that is granting the License.
14
-
15
- "Legal Entity" shall mean the union of the acting entity and all
16
- other entities that control, are controlled by, or are under common
17
- control with that entity. For the purposes of this definition,
18
- "control" means (i) the power, direct or indirect, to cause the
19
- direction or management of such entity, whether by contract or
20
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
- outstanding shares, or (iii) beneficial ownership of such entity.
22
-
23
- "You" (or "Your") shall mean an individual or Legal Entity
24
- exercising permissions granted by this License.
25
-
26
- "Source" form shall mean the preferred form for making modifications,
27
- including but not limited to software source code, documentation
28
- source, and configuration files.
29
-
30
- "Object" form shall mean any form resulting from mechanical
31
- transformation or translation of a Source form, including but
32
- not limited to compiled object code, generated documentation,
33
- and conversions to other media types.
34
-
35
- "Work" shall mean the work of authorship, whether in Source or
36
- Object form, made available under the License, as indicated by a
37
- copyright notice that is included in or attached to the work
38
- (an example is provided in the Appendix below).
39
-
40
- "Derivative Works" shall mean any work, whether in Source or Object
41
- form, that is based on (or derived from) the Work and for which the
42
- editorial revisions, annotations, elaborations, or other modifications
43
- represent, as a whole, an original work of authorship. For the purposes
44
- of this License, Derivative Works shall not include works that remain
45
- separable from, or merely link (or bind by name) to the interfaces of,
46
- the Work and Derivative Works thereof.
47
-
48
- "Contribution" shall mean any work of authorship, including
49
- the original version of the Work and any modifications or additions
50
- to that Work or Derivative Works thereof, that is intentionally
51
- submitted to Licensor for inclusion in the Work by the copyright owner
52
- or by an individual or Legal Entity authorized to submit on behalf of
53
- the copyright owner. For the purposes of this definition, "submitted"
54
- means any form of electronic, verbal, or written communication sent
55
- to the Licensor or its representatives, including but not limited to
56
- communication on electronic mailing lists, source code control systems,
57
- and issue tracking systems that are managed by, or on behalf of, the
58
- Licensor for the purpose of discussing and improving the Work, but
59
- excluding communication that is conspicuously marked or otherwise
60
- designated in writing by the copyright owner as "Not a Contribution."
61
-
62
- "Contributor" shall mean Licensor and any individual or Legal Entity
63
- on behalf of whom a Contribution has been received by Licensor and
64
- subsequently incorporated within the Work.
65
-
66
- 2. Grant of Copyright License. Subject to the terms and conditions of
67
- this License, each Contributor hereby grants to You a perpetual,
68
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
- copyright license to reproduce, prepare Derivative Works of,
70
- publicly display, publicly perform, sublicense, and distribute the
71
- Work and such Derivative Works in Source or Object form.
72
-
73
- 3. Grant of Patent License. Subject to the terms and conditions of
74
- this License, each Contributor hereby grants to You a perpetual,
75
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
- (except as stated in this section) patent license to make, have made,
77
- use, offer to sell, sell, import, and otherwise transfer the Work,
78
- where such license applies only to those patent claims licensable
79
- by such Contributor that are necessarily infringed by their
80
- Contribution(s) alone or by combination of their Contribution(s)
81
- with the Work to which such Contribution(s) was submitted. If You
82
- institute patent litigation against any entity (including a
83
- cross-claim or counterclaim in a lawsuit) alleging that the Work
84
- or a Contribution incorporated within the Work constitutes direct
85
- or contributory patent infringement, then any patent licenses
86
- granted to You under this License for that Work shall terminate
87
- as of the date such litigation is filed.
88
-
89
- 4. Redistribution. You may reproduce and distribute copies of the
90
- Work or Derivative Works thereof in any medium, with or without
91
- modifications, and in Source or Object form, provided that You
92
- meet the following conditions:
93
-
94
- (a) You must give any other recipients of the Work or
95
- Derivative Works a copy of this License; and
96
-
97
- (b) You must cause any modified files to carry prominent notices
98
- stating that You changed the files; and
99
-
100
- (c) You must retain, in the Source form of any Derivative Works
101
- that You distribute, all copyright, patent, trademark, and
102
- attribution notices from the Source form of the Work,
103
- excluding those notices that do not pertain to any part of
104
- the Derivative Works; and
105
-
106
- (d) If the Work includes a "NOTICE" text file as part of its
107
- distribution, then any Derivative Works that You distribute must
108
- include a readable copy of the attribution notices contained
109
- within such NOTICE file, excluding those notices that do not
110
- pertain to any part of the Derivative Works, in at least one
111
- of the following places: within a NOTICE text file distributed
112
- as part of the Derivative Works; within the Source form or
113
- documentation, if provided along with the Derivative Works; or,
114
- within a display generated by the Derivative Works, if and
115
- wherever such third-party notices normally appear. The contents
116
- of the NOTICE file are for informational purposes only and
117
- do not modify the License. You may add Your own attribution
118
- notices within Derivative Works that You distribute, alongside
119
- or as an addendum to the NOTICE text from the Work, provided
120
- that such additional attribution notices cannot be construed
121
- as modifying the License.
122
-
123
- You may add Your own copyright statement to Your modifications and
124
- may provide additional or different license terms and conditions
125
- for use, reproduction, or distribution of Your modifications, or
126
- for any such Derivative Works as a whole, provided Your use,
127
- reproduction, and distribution of the Work otherwise complies with
128
- the conditions stated in this License.
129
-
130
- 5. Submission of Contributions. Unless You explicitly state otherwise,
131
- any Contribution intentionally submitted for inclusion in the Work
132
- by You to the Licensor shall be under the terms and conditions of
133
- this License, without any additional terms or conditions.
134
- Notwithstanding the above, nothing herein shall supersede or modify
135
- the terms of any separate license agreement you may have executed
136
- with Licensor regarding such Contributions.
137
-
138
- 6. Trademarks. This License does not grant permission to use the trade
139
- names, trademarks, service marks, or product names of the Licensor,
140
- except as required for reasonable and customary use in describing the
141
- origin of the Work and reproducing the content of the NOTICE file.
142
-
143
- 7. Disclaimer of Warranty. Unless required by applicable law or
144
- agreed to in writing, Licensor provides the Work (and each
145
- Contributor provides its Contributions) on an "AS IS" BASIS,
146
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
- implied, including, without limitation, any warranties or conditions
148
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
- PARTICULAR PURPOSE. You are solely responsible for determining the
150
- appropriateness of using or redistributing the Work and assume any
151
- risks associated with Your exercise of permissions under this License.
152
-
153
- 8. Limitation of Liability. In no event and under no legal theory,
154
- whether in tort (including negligence), contract, or otherwise,
155
- unless required by applicable law (such as deliberate and grossly
156
- negligent acts) or agreed to in writing, shall any Contributor be
157
- liable to You for damages, including any direct, indirect, special,
158
- incidental, or consequential damages of any character arising as a
159
- result of this License or out of the use or inability to use the
160
- Work (including but not limited to damages for loss of goodwill,
161
- work stoppage, computer failure or malfunction, or any and all
162
- other commercial damages or losses), even if such Contributor
163
- has been advised of the possibility of such damages.
164
-
165
- 9. Accepting Warranty or Additional Liability. While redistributing
166
- the Work or Derivative Works thereof, You may choose to offer,
167
- and charge a fee for, acceptance of support, warranty, indemnity,
168
- or other liability obligations and/or rights consistent with this
169
- License. However, in accepting such obligations, You may act only
170
- on Your own behalf and on Your sole responsibility, not on behalf
171
- of any other Contributor, and only if You agree to indemnify,
172
- defend, and hold each Contributor harmless for any liability
173
- incurred by, or claims asserted against, such Contributor by reason
174
- of your accepting any such warranty or additional liability.
175
-
176
- END OF TERMS AND CONDITIONS
177
-
178
- APPENDIX: How to apply the Apache License to your work.
179
-
180
- To apply the Apache License to your work, attach the following
181
- boilerplate notice, with the fields enclosed by brackets "[]"
182
- replaced with your own identifying information. (Don't include
183
- the brackets!) The text should be enclosed in the appropriate
184
- comment syntax for the file format. We also recommend that a
185
- file or class name and description of purpose be included on the
186
- same "printed page" as the copyright notice for easier
187
- identification within third-party archives.
188
-
189
- Copyright [yyyy] [name of copyright owner]
190
-
191
- Licensed under the Apache License, Version 2.0 (the "License");
192
- you may not use this file except in compliance with the License.
193
- You may obtain a copy of the License at
194
-
195
- http://www.apache.org/licenses/LICENSE-2.0
196
-
197
- Unless required by applicable law or agreed to in writing, software
198
- distributed under the License is distributed on an "AS IS" BASIS,
199
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
- See the License for the specific language governing permissions and
201
- limitations under the License.
@@ -1,3 +0,0 @@
1
- # Flet `Audio` control
2
-
3
- `Audio` control to use in Flet apps.