# Conflicts:
#	.flutter-plugins
#	.flutter-plugins-dependencies
This commit is contained in:
Kiwix DevTeam 2023-01-22 17:38:29 +01:00
commit e01960feac
9 changed files with 200 additions and 116 deletions

View File

@ -54,6 +54,7 @@ android {
targetSdkVersion flutter.targetSdkVersion targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger() versionCode flutterVersionCode.toInteger()
versionName flutterVersionName versionName flutterVersionName
multiDexEnabled true
} }
signingConfigs { signingConfigs {

View File

@ -8,6 +8,7 @@
<application <application
android:label="Fort Saint Héribert" android:label="Fort Saint Héribert"
android:name="${applicationName}" android:name="${applicationName}"
android:usesCleartextTraffic="true"
android:icon="@mipmap/launcher_icon"> android:icon="@mipmap/launcher_icon">
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"

View File

@ -1,12 +1,14 @@
import 'dart:typed_data'; import 'dart:typed_data';
import 'package:audioplayers/audioplayers.dart'; //import 'package:audioplayers/audioplayers.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mymuseum_visitapp/Helpers/translationHelper.dart'; import 'package:mymuseum_visitapp/Helpers/translationHelper.dart';
import 'package:mymuseum_visitapp/app_context.dart'; import 'package:mymuseum_visitapp/app_context.dart';
import 'package:mymuseum_visitapp/constants.dart'; import 'package:mymuseum_visitapp/constants.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:just_audio/just_audio.dart';
class AudioPlayerContainer extends StatefulWidget { class AudioPlayerContainer extends StatefulWidget {
const AudioPlayerContainer({Key? key, required this.audioBytes, required this.isAuto}) : super(key: key); const AudioPlayerContainer({Key? key, required this.audioBytes, required this.isAuto}) : super(key: key);
@ -32,13 +34,38 @@ class _AudioPlayerContainerState extends State<AudioPlayerContainer> {
Future.delayed(Duration.zero, () async { Future.delayed(Duration.zero, () async {
audiobytes = widget.audioBytes; audiobytes = widget.audioBytes;
player.onDurationChanged.listen((Duration d) { //get the duration of audio /*player.onDurationChanged.listen((Duration d) { //get the duration of audio
maxduration = d.inSeconds; maxduration = d.inSeconds;
setState(() { setState(() {
}); });
});*/
//player.bufferedPositionStream
player.positionStream.listen((event) {
if(event != null) {
currentpos = event!.inMilliseconds; //get the current position of playing audio
//generating the duration label
int shours = Duration(milliseconds:currentpos).inHours;
int sminutes = Duration(milliseconds:currentpos).inMinutes;
int sseconds = Duration(milliseconds:currentpos).inSeconds;
int rminutes = sminutes - (shours * 60);
int rseconds = sseconds - (sminutes * 60 + shours * 60 * 60);
String minutesToShow = rminutes < 10 ? '0$rminutes': rminutes.toString();
String secondsToShow = rseconds < 10 ? '0$rseconds': rseconds.toString();
currentpostlabel = "$minutesToShow:$secondsToShow";
setState(() {
//refresh the UI
});
}
}); });
player.onPositionChanged.listen((Duration p){ /*player.onPositionChanged.listen((Duration p){
currentpos = p.inMilliseconds; //get the current position of playing audio currentpos = p.inMilliseconds; //get the current position of playing audio
//generating the duration label //generating the duration label
@ -57,10 +84,12 @@ class _AudioPlayerContainerState extends State<AudioPlayerContainer> {
setState(() { setState(() {
//refresh the UI //refresh the UI
}); });
}); });*/
if(widget.isAuto) { if(widget.isAuto) {
player.play(BytesSource(audiobytes)); //player.play(BytesSource(audiobytes));
await player.setAudioSource(LoadedSource(audiobytes));
player.play();
setState(() { setState(() {
isplaying = true; isplaying = true;
audioplayed = true; audioplayed = true;
@ -94,13 +123,16 @@ class _AudioPlayerContainerState extends State<AudioPlayerContainer> {
), ),
onPressed: () async { onPressed: () async {
if(!isplaying && !audioplayed){ if(!isplaying && !audioplayed){
player.play(BytesSource(audiobytes)); //player.play(BytesSource(audiobytes));
await player.setAudioSource(LoadedSource(audiobytes));
player.play();
setState(() { setState(() {
isplaying = true; isplaying = true;
audioplayed = true; audioplayed = true;
}); });
}else if(audioplayed && !isplaying){ }else if(audioplayed && !isplaying){
player.resume(); //player.resume();
player.play();
setState(() { setState(() {
isplaying = true; isplaying = true;
audioplayed = true; audioplayed = true;
@ -122,6 +154,7 @@ class _AudioPlayerContainerState extends State<AudioPlayerContainer> {
), ),
onPressed: () async { onPressed: () async {
player.stop(); player.stop();
player.seek(const Duration(seconds: 0));
setState(() { setState(() {
isplaying = false; isplaying = false;
audioplayed = false; audioplayed = false;
@ -129,7 +162,7 @@ class _AudioPlayerContainerState extends State<AudioPlayerContainer> {
}); });
}, },
icon: const Icon(Icons.stop), icon: const Icon(Icons.stop),
label: Text(TranslationHelper.getFromLocale("stop", appContext)) label: Text(TranslationHelper.getFromLocale(TranslationHelper.getFromLocale("stop", appContext), appContext))
), ),
], ],
) )
@ -137,3 +170,22 @@ class _AudioPlayerContainerState extends State<AudioPlayerContainer> {
); );
} }
} }
// Feed your own stream of bytes into the player
class LoadedSource extends StreamAudioSource {
final List<int> bytes;
LoadedSource(this.bytes);
@override
Future<StreamAudioResponse> request([int? start, int? end]) async {
start ??= 0;
end ??= bytes.length;
return StreamAudioResponse(
sourceLength: bytes.length,
contentLength: end - start,
offset: start,
stream: Stream.value(bytes.sublist(start, end)),
contentType: 'audio/mpeg',
);
}
}

View File

@ -1,4 +1,4 @@
import 'package:audioplayers/audioplayers.dart'; //import 'package:audioplayers/audioplayers.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mymuseum_visitapp/Screens/Home/home.dart'; import 'package:mymuseum_visitapp/Screens/Home/home.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -30,7 +30,7 @@ void main() async {
visitAppContext: localContext, visitAppContext: localContext,
); );
final AudioContext audioContext = AudioContext( /*final AudioContext audioContext = AudioContext(
iOS: AudioContextIOS( iOS: AudioContextIOS(
//defaultToSpeaker: true, //defaultToSpeaker: true,
category: AVAudioSessionCategory.ambient, category: AVAudioSessionCategory.ambient,
@ -38,7 +38,7 @@ void main() async {
AVAudioSessionOptions.defaultToSpeaker, AVAudioSessionOptions.defaultToSpeaker,
AVAudioSessionOptions.mixWithOthers, AVAudioSessionOptions.mixWithOthers,
], ],
), ),*/
/*android: AudioContextAndroid( /*android: AudioContextAndroid(
isSpeakerphoneOn: true, isSpeakerphoneOn: true,
stayAwake: true, stayAwake: true,
@ -46,8 +46,8 @@ void main() async {
usageType: AndroidUsageType.assistanceSonification, usageType: AndroidUsageType.assistanceSonification,
audioFocus: AndroidAudioFocus.none, audioFocus: AndroidAudioFocus.none,
),*/ ),*/
); //);
AudioPlayer.global.setGlobalAudioContext(audioContext); //AudioPlayer.global.setGlobalAudioContext(audioContext);
runApp(myApp); runApp(myApp);
} }

View File

@ -36,9 +36,9 @@ List<Translation> translations = [
"downloadConfiguration": "Tour laden...", "downloadConfiguration": "Tour laden...",
"noInternet": "Keine Internetverbindung erkannt", "noInternet": "Keine Internetverbindung erkannt",
"search": "Suche", "search": "Suche",
"play": "", "play": "Spiel",
"pause": "", "pause": "Pause",
"stop": "" "stop": "Stopp"
}), }),
Translation(language: "NL", data: { Translation(language: "NL", data: {
"visitTitle": "Lijst met rondleidingen", "visitTitle": "Lijst met rondleidingen",
@ -48,7 +48,10 @@ List<Translation> translations = [
"languageNotSupported": "Deze tour ondersteunt je taal niet", "languageNotSupported": "Deze tour ondersteunt je taal niet",
"downloadConfiguration": "De rondleiding laden...", "downloadConfiguration": "De rondleiding laden...",
"noInternet": "Geen internetverbinding gedetecteerd", "noInternet": "Geen internetverbinding gedetecteerd",
"search": "Zoeken" "search": "Zoeken",
"play": "Speel",
"pause": "Pauze",
"stop": "Stop"
}), }),
Translation(language: "IT", data: { Translation(language: "IT", data: {
"visitTitle": "Elenco dei tour", "visitTitle": "Elenco dei tour",
@ -58,7 +61,10 @@ List<Translation> translations = [
"languageNotSupported": "Questo tour non supporta la tua lingua", "languageNotSupported": "Questo tour non supporta la tua lingua",
"downloadConfiguration": "Caricamento del tour...", "downloadConfiguration": "Caricamento del tour...",
"noInternet": "Nessuna connessione Internet rilevata", "noInternet": "Nessuna connessione Internet rilevata",
"search": "Ricerca" "search": "Ricerca",
"play": "Giocare a",
"pause": "Pausa",
"stop": "Fermare"
}), }),
Translation(language: "ES", data: { Translation(language: "ES", data: {
"visitTitle": "Lista de recorridos", "visitTitle": "Lista de recorridos",
@ -68,7 +74,10 @@ List<Translation> translations = [
"languageNotSupported": "Este tour no es compatible con tu idioma", "languageNotSupported": "Este tour no es compatible con tu idioma",
"downloadConfiguration": "Cargando el recorrido...", "downloadConfiguration": "Cargando el recorrido...",
"noInternet": "No se detectó conexión a Internet", "noInternet": "No se detectó conexión a Internet",
"search": "Búsqueda" "search": "Búsqueda",
"play": "Tocar",
"pause": "Pausa",
"stop": "Parada"
}), }),
Translation(language: "PL", data: { Translation(language: "PL", data: {
"visitTitle": "Lista wycieczek", "visitTitle": "Lista wycieczek",
@ -78,7 +87,10 @@ List<Translation> translations = [
"languageNotSupported": "Ta wycieczka nie obsługuje Twojego języka", "languageNotSupported": "Ta wycieczka nie obsługuje Twojego języka",
"downloadConfiguration": "Wczytuję prezentację...", "downloadConfiguration": "Wczytuję prezentację...",
"noInternet": "Nie wykryto połączenia internetowego", "noInternet": "Nie wykryto połączenia internetowego",
"search": "Szukaj" "search": "Szukaj",
"play": "Bawić się",
"pause": "Pauza",
"stop": "Stop"
}), }),
Translation(language: "CN", data: { Translation(language: "CN", data: {
"visitTitle": "旅游清单", "visitTitle": "旅游清单",
@ -88,6 +100,35 @@ List<Translation> translations = [
"languageNotSupported": "此导览不支持您的语言", "languageNotSupported": "此导览不支持您的语言",
"downloadConfiguration": "正在加载导览...", "downloadConfiguration": "正在加载导览...",
"noInternet": "未检测到互联网连接", "noInternet": "未检测到互联网连接",
"search": "搜索" "search": "搜索",
"play": "",
"pause": "暫停",
"stop": "停止"
}),
Translation(language: "UK", data: {
"visitTitle": "Список турів",
"visitDownloadWarning": "Щоб стежити за цим оглядом, спершу його потрібно завантажити",
"noData": "Немає даних",
"invalidQRCode": "Недійсний QR-код",
"languageNotSupported": "Цей тур не підтримує вашу мову",
"downloadConfiguration": "Завантаження туру...",
"noInternet": "Підключення до Інтернету не виявлено",
"search": "Пошук",
"play": "грати",
"pause": "Пауза",
"stop": "Стоп"
}),
Translation(language: "AR", data: {
"visitTitle": "قائمة الجولات",
"visitDownloadWarning": "لمتابعة هذه الجولة ، يجب عليك أولاً تنزيلها",
"noData": "لايوجد بيانات",
"invalidQRCode": "رمز الاستجابة السريعة غير صالح",
"languageNotSupported": "هذه الجولة لا تدعم لغتك",
"downloadConfiguration": "جارٍ تحميل الجولة ...",
"noInternet": "لم يتم الكشف عن اتصال بالإنترنت",
"search": "يبحث",
"play": "لعب",
"pause": "وقفة",
"stop": "قف"
}), }),
]; ];

View File

@ -6,10 +6,6 @@
#include "generated_plugin_registrant.h" #include "generated_plugin_registrant.h"
#include <audioplayers_linux/audioplayers_linux_plugin.h>
void fl_register_plugins(FlPluginRegistry* registry) { void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) audioplayers_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "AudioplayersLinuxPlugin");
audioplayers_linux_plugin_register_with_registrar(audioplayers_linux_registrar);
} }

View File

@ -3,7 +3,6 @@
# #
list(APPEND FLUTTER_PLUGIN_LIST list(APPEND FLUTTER_PLUGIN_LIST
audioplayers_linux
) )
list(APPEND FLUTTER_FFI_PLUGIN_LIST list(APPEND FLUTTER_FFI_PLUGIN_LIST

View File

@ -7,28 +7,28 @@ packages:
name: _fe_analyzer_shared name: _fe_analyzer_shared
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "47.0.0" version: "48.0.0"
analyzer: analyzer:
dependency: transitive dependency: transitive
description: description:
name: analyzer name: analyzer
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.7.0" version: "5.0.0"
archive: archive:
dependency: transitive dependency: transitive
description: description:
name: archive name: archive
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.3.1" version: "3.3.5"
args: args:
dependency: transitive dependency: transitive
description: description:
name: args name: args
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.3.1" version: "2.3.2"
async: async:
dependency: transitive dependency: transitive
description: description:
@ -36,55 +36,13 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.9.0" version: "2.9.0"
audioplayers: audio_session:
dependency: "direct main"
description:
name: audioplayers
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
audioplayers_android:
dependency: transitive dependency: transitive
description: description:
name: audioplayers_android name: audio_session
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.4" version: "0.1.13"
audioplayers_darwin:
dependency: transitive
description:
name: audioplayers_darwin
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
audioplayers_linux:
dependency: transitive
description:
name: audioplayers_linux
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.3"
audioplayers_platform_interface:
dependency: transitive
description:
name: audioplayers_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.0"
audioplayers_web:
dependency: transitive
description:
name: audioplayers_web
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.1"
audioplayers_windows:
dependency: transitive
description:
name: audioplayers_windows
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.2"
auto_size_text: auto_size_text:
dependency: "direct main" dependency: "direct main"
description: description:
@ -105,14 +63,14 @@ packages:
name: build name: build
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.3.0" version: "2.3.1"
build_config: build_config:
dependency: transitive dependency: transitive
description: description:
name: build_config name: build_config
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.0" version: "1.1.1"
build_daemon: build_daemon:
dependency: transitive dependency: transitive
description: description:
@ -126,21 +84,21 @@ packages:
name: build_resolvers name: build_resolvers
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.9" version: "2.0.10"
build_runner: build_runner:
dependency: "direct dev" dependency: "direct dev"
description: description:
name: build_runner name: build_runner
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.2.0" version: "2.3.3"
build_runner_core: build_runner_core:
dependency: transitive dependency: transitive
description: description:
name: build_runner_core name: build_runner_core
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "7.2.3" version: "7.2.7"
built_collection: built_collection:
dependency: transitive dependency: transitive
description: description:
@ -154,14 +112,14 @@ packages:
name: built_value name: built_value
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "8.4.1" version: "8.4.3"
carousel_slider: carousel_slider:
dependency: "direct main" dependency: "direct main"
description: description:
name: carousel_slider name: carousel_slider
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.1.1" version: "4.2.1"
characters: characters:
dependency: transitive dependency: transitive
description: description:
@ -175,7 +133,7 @@ packages:
name: checked_yaml name: checked_yaml
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.1" version: "2.0.2"
cli_util: cli_util:
dependency: transitive dependency: transitive
description: description:
@ -196,7 +154,7 @@ packages:
name: code_builder name: code_builder
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.2.0" version: "4.4.0"
collection: collection:
dependency: transitive dependency: transitive
description: description:
@ -210,7 +168,7 @@ packages:
name: convert name: convert
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.2" version: "3.1.1"
crypto: crypto:
dependency: transitive dependency: transitive
description: description:
@ -231,7 +189,7 @@ packages:
name: dart_style name: dart_style
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.2.3" version: "2.2.4"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
@ -290,7 +248,7 @@ packages:
name: flutter_svg name: flutter_svg
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.5" version: "1.1.6"
flutter_svg_provider: flutter_svg_provider:
dependency: "direct main" dependency: "direct main"
description: description:
@ -314,21 +272,21 @@ packages:
name: frontend_server_client name: frontend_server_client
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.3" version: "3.2.0"
glob: glob:
dependency: transitive dependency: transitive
description: description:
name: glob name: glob
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.0" version: "2.1.1"
graphs: graphs:
dependency: transitive dependency: transitive
description: description:
name: graphs name: graphs
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.0" version: "2.2.0"
http: http:
dependency: transitive dependency: transitive
description: description:
@ -349,14 +307,14 @@ packages:
name: http_parser name: http_parser
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.0.1" version: "4.0.2"
image: image:
dependency: transitive dependency: transitive
description: description:
name: image name: image
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.2.0" version: "3.3.0"
intl: intl:
dependency: "direct main" dependency: "direct main"
description: description:
@ -370,7 +328,7 @@ packages:
name: io name: io
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.3" version: "1.0.4"
js: js:
dependency: transitive dependency: transitive
description: description:
@ -384,7 +342,28 @@ packages:
name: json_annotation name: json_annotation
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.6.0" version: "4.8.0"
just_audio:
dependency: "direct main"
description:
name: just_audio
url: "https://pub.dartlang.org"
source: hosted
version: "0.9.31"
just_audio_platform_interface:
dependency: transitive
description:
name: just_audio_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "4.2.0"
just_audio_web:
dependency: transitive
description:
name: just_audio_web
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.7"
lints: lints:
dependency: transitive dependency: transitive
description: description:
@ -398,7 +377,7 @@ packages:
name: logging name: logging
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.2" version: "1.1.0"
manager_api: manager_api:
dependency: "direct main" dependency: "direct main"
description: description:
@ -433,7 +412,7 @@ packages:
name: mime name: mime
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.2" version: "1.0.4"
nested: nested:
dependency: transitive dependency: transitive
description: description:
@ -503,7 +482,7 @@ packages:
name: path_provider_android name: path_provider_android
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.20" version: "2.0.22"
path_provider_ios: path_provider_ios:
dependency: transitive dependency: transitive
description: description:
@ -524,7 +503,7 @@ packages:
name: path_provider_macos name: path_provider_macos
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.6" version: "2.0.7"
path_provider_platform_interface: path_provider_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -545,7 +524,7 @@ packages:
name: petitparser name: petitparser
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "5.0.0" version: "5.1.0"
photo_view: photo_view:
dependency: "direct main" dependency: "direct main"
description: description:
@ -567,6 +546,13 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.3" version: "2.1.3"
pointycastle:
dependency: transitive
description:
name: pointycastle
url: "https://pub.dartlang.org"
source: hosted
version: "3.6.2"
pool: pool:
dependency: transitive dependency: transitive
description: description:
@ -594,7 +580,7 @@ packages:
name: pub_semver name: pub_semver
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.1" version: "2.1.3"
pubspec_parse: pubspec_parse:
dependency: transitive dependency: transitive
description: description:
@ -609,20 +595,27 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "1.0.1"
rxdart:
dependency: transitive
description:
name: rxdart
url: "https://pub.dartlang.org"
source: hosted
version: "0.27.7"
shelf: shelf:
dependency: transitive dependency: transitive
description: description:
name: shelf name: shelf
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.3.2" version: "1.4.0"
shelf_web_socket: shelf_web_socket:
dependency: transitive dependency: transitive
description: description:
name: shelf_web_socket name: shelf_web_socket
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.2" version: "1.0.3"
sky_engine: sky_engine:
dependency: transitive dependency: transitive
description: flutter description: flutter
@ -634,7 +627,7 @@ packages:
name: source_gen name: source_gen
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.2" version: "1.2.6"
source_span: source_span:
dependency: transitive dependency: transitive
description: description:
@ -648,14 +641,14 @@ packages:
name: sqflite name: sqflite
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.3+1" version: "2.2.3"
sqflite_common: sqflite_common:
dependency: transitive dependency: transitive
description: description:
name: sqflite_common name: sqflite_common
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.2.1+1" version: "2.4.1"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -676,7 +669,7 @@ packages:
name: stream_transform name: stream_transform
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.1.0"
string_scanner: string_scanner:
dependency: transitive dependency: transitive
description: description:
@ -690,7 +683,7 @@ packages:
name: synchronized name: synchronized
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.0+3" version: "3.0.1"
term_glyph: term_glyph:
dependency: transitive dependency: transitive
description: description:
@ -711,7 +704,7 @@ packages:
name: timing name: timing
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.0" version: "1.0.1"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
@ -725,7 +718,7 @@ packages:
name: uuid name: uuid
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.6" version: "3.0.7"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
@ -739,28 +732,28 @@ packages:
name: watcher name: watcher
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "1.0.2"
web_socket_channel: web_socket_channel:
dependency: transitive dependency: transitive
description: description:
name: web_socket_channel name: web_socket_channel
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.2.0" version: "2.3.0"
win32: win32:
dependency: transitive dependency: transitive
description: description:
name: win32 name: win32
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.1" version: "3.1.3"
xdg_directories: xdg_directories:
dependency: transitive dependency: transitive
description: description:
name: xdg_directories name: xdg_directories
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.2.0+2" version: "0.2.0+3"
xml: xml:
dependency: transitive dependency: transitive
description: description:
@ -776,5 +769,5 @@ packages:
source: hosted source: hosted
version: "3.1.1" version: "3.1.1"
sdks: sdks:
dart: ">=2.17.0 <3.0.0" dart: ">=2.18.0 <3.0.0"
flutter: ">=3.0.0" flutter: ">=3.3.0"

View File

@ -43,7 +43,8 @@ dependencies:
photo_view: ^0.14.0 photo_view: ^0.14.0
intl: ^0.17.0 intl: ^0.17.0
flutter_launcher_icons: ^0.10.0 flutter_launcher_icons: ^0.10.0
audioplayers: ^2.0.0 #audioplayers: ^2.0.0
just_audio: ^0.9.31
manager_api: manager_api:
path: manager_api path: manager_api