From c80d5b4a08905b87f68f8fd8fd0c28aeaf177bf7 Mon Sep 17 00:00:00 2001 From: Fransolet Thomas Date: Sun, 22 Jan 2023 17:27:57 +0100 Subject: [PATCH] Update translations (add play, pause and stop + Uk and Ar) + audio player to just audio update --- .flutter-plugins | 15 +- .flutter-plugins-dependencies | 2 +- android/app/build.gradle | 1 + android/app/src/main/AndroidManifest.xml | 1 + lib/Screens/Article/audio_player.dart | 68 +++++++- lib/main.dart | 10 +- lib/translations.dart | 57 ++++++- linux/flutter/generated_plugin_registrant.cc | 4 - linux/flutter/generated_plugins.cmake | 1 - pubspec.lock | 171 +++++++++---------- pubspec.yaml | 3 +- 11 files changed, 207 insertions(+), 126 deletions(-) diff --git a/.flutter-plugins b/.flutter-plugins index 914f428..b1b955c 100644 --- a/.flutter-plugins +++ b/.flutter-plugins @@ -1,15 +1,12 @@ # This is a generated file; do not edit or check into version control. -audioplayers=C:\\Users\\thoma\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dartlang.org\\audioplayers-2.0.0\\ -audioplayers_android=C:\\Users\\thoma\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dartlang.org\\audioplayers_android-1.1.4\\ -audioplayers_darwin=C:\\Users\\thoma\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dartlang.org\\audioplayers_darwin-2.0.0\\ -audioplayers_linux=C:\\Users\\thoma\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dartlang.org\\audioplayers_linux-1.0.3\\ -audioplayers_web=C:\\Users\\thoma\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dartlang.org\\audioplayers_web-2.1.1\\ -audioplayers_windows=C:\\Users\\thoma\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dartlang.org\\audioplayers_windows-1.1.2\\ +audio_session=C:\\Users\\thoma\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dartlang.org\\audio_session-0.1.13\\ +just_audio=C:\\Users\\thoma\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dartlang.org\\just_audio-0.9.31\\ +just_audio_web=C:\\Users\\thoma\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dartlang.org\\just_audio_web-0.4.7\\ path_provider=C:\\Users\\thoma\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dartlang.org\\path_provider-2.0.11\\ -path_provider_android=C:\\Users\\thoma\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dartlang.org\\path_provider_android-2.0.20\\ +path_provider_android=C:\\Users\\thoma\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dartlang.org\\path_provider_android-2.0.22\\ path_provider_ios=C:\\Users\\thoma\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dartlang.org\\path_provider_ios-2.0.11\\ path_provider_linux=C:\\Users\\thoma\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dartlang.org\\path_provider_linux-2.1.7\\ -path_provider_macos=C:\\Users\\thoma\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dartlang.org\\path_provider_macos-2.0.6\\ +path_provider_macos=C:\\Users\\thoma\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dartlang.org\\path_provider_macos-2.0.7\\ path_provider_windows=C:\\Users\\thoma\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dartlang.org\\path_provider_windows-2.1.3\\ qr_code_scanner=C:\\Users\\thoma\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dartlang.org\\qr_code_scanner-1.0.1\\ -sqflite=C:\\Users\\thoma\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dartlang.org\\sqflite-2.0.3+1\\ +sqflite=C:\\Users\\thoma\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dartlang.org\\sqflite-2.2.3\\ diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies index 152bdbf..6de9c92 100644 --- a/.flutter-plugins-dependencies +++ b/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"audioplayers_darwin","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\audioplayers_darwin-2.0.0\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_ios","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_ios-2.0.11\\\\","native_build":true,"dependencies":[]},{"name":"qr_code_scanner","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\qr_code_scanner-1.0.1\\\\","native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\sqflite-2.0.3+1\\\\","native_build":true,"dependencies":[]}],"android":[{"name":"audioplayers_android","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\audioplayers_android-1.1.4\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_android-2.0.20\\\\","native_build":true,"dependencies":[]},{"name":"qr_code_scanner","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\qr_code_scanner-1.0.1\\\\","native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\sqflite-2.0.3+1\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"audioplayers_darwin","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\audioplayers_darwin-2.0.0\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_macos","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_macos-2.0.6\\\\","native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\sqflite-2.0.3+1\\\\","native_build":true,"dependencies":[]}],"linux":[{"name":"audioplayers_linux","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\audioplayers_linux-1.0.3\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_linux","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_linux-2.1.7\\\\","native_build":false,"dependencies":[]}],"windows":[{"name":"audioplayers_windows","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\audioplayers_windows-1.1.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_windows","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_windows-2.1.3\\\\","native_build":false,"dependencies":[]}],"web":[{"name":"audioplayers_web","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\audioplayers_web-2.1.1\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"audioplayers","dependencies":["audioplayers_android","audioplayers_darwin","audioplayers_linux","audioplayers_web","audioplayers_windows","path_provider"]},{"name":"audioplayers_android","dependencies":[]},{"name":"audioplayers_darwin","dependencies":[]},{"name":"audioplayers_linux","dependencies":[]},{"name":"audioplayers_web","dependencies":[]},{"name":"audioplayers_windows","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_ios","path_provider_linux","path_provider_macos","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_ios","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"qr_code_scanner","dependencies":[]},{"name":"sqflite","dependencies":[]}],"date_created":"2023-01-17 18:00:15.546861","version":"3.3.10"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"audio_session","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\audio_session-0.1.13\\\\","native_build":true,"dependencies":[]},{"name":"just_audio","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\just_audio-0.9.31\\\\","native_build":true,"dependencies":["audio_session"]},{"name":"path_provider_ios","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_ios-2.0.11\\\\","native_build":true,"dependencies":[]},{"name":"qr_code_scanner","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\qr_code_scanner-1.0.1\\\\","native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\sqflite-2.2.3\\\\","native_build":true,"dependencies":[]}],"android":[{"name":"audio_session","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\audio_session-0.1.13\\\\","native_build":true,"dependencies":[]},{"name":"just_audio","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\just_audio-0.9.31\\\\","native_build":true,"dependencies":["audio_session"]},{"name":"path_provider_android","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_android-2.0.22\\\\","native_build":true,"dependencies":[]},{"name":"qr_code_scanner","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\qr_code_scanner-1.0.1\\\\","native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\sqflite-2.2.3\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"audio_session","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\audio_session-0.1.13\\\\","native_build":true,"dependencies":[]},{"name":"just_audio","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\just_audio-0.9.31\\\\","native_build":true,"dependencies":["audio_session"]},{"name":"path_provider_macos","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_macos-2.0.7\\\\","native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\sqflite-2.2.3\\\\","native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_linux-2.1.7\\\\","native_build":false,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_windows-2.1.3\\\\","native_build":false,"dependencies":[]}],"web":[{"name":"audio_session","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\audio_session-0.1.13\\\\","dependencies":[]},{"name":"just_audio_web","path":"C:\\\\Users\\\\thoma\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dartlang.org\\\\just_audio_web-0.4.7\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"audio_session","dependencies":[]},{"name":"just_audio","dependencies":["just_audio_web","audio_session","path_provider"]},{"name":"just_audio_web","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_ios","path_provider_linux","path_provider_macos","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_ios","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"qr_code_scanner","dependencies":[]},{"name":"sqflite","dependencies":[]}],"date_created":"2023-01-22 16:30:21.332421","version":"3.3.10"} \ No newline at end of file diff --git a/android/app/build.gradle b/android/app/build.gradle index 7329970..c0e29fc 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -54,6 +54,7 @@ android { targetSdkVersion flutter.targetSdkVersion versionCode flutterVersionCode.toInteger() versionName flutterVersionName + multiDexEnabled true } signingConfigs { diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 9457192..80ba93b 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -8,6 +8,7 @@ { Future.delayed(Duration.zero, () async { 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; 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 //generating the duration label @@ -57,10 +84,12 @@ class _AudioPlayerContainerState extends State { setState(() { //refresh the UI }); - }); + });*/ if(widget.isAuto) { - player.play(BytesSource(audiobytes)); + //player.play(BytesSource(audiobytes)); + await player.setAudioSource(LoadedSource(audiobytes)); + player.play(); setState(() { isplaying = true; audioplayed = true; @@ -94,13 +123,16 @@ class _AudioPlayerContainerState extends State { ), onPressed: () async { if(!isplaying && !audioplayed){ - player.play(BytesSource(audiobytes)); + //player.play(BytesSource(audiobytes)); + await player.setAudioSource(LoadedSource(audiobytes)); + player.play(); setState(() { isplaying = true; audioplayed = true; }); }else if(audioplayed && !isplaying){ - player.resume(); + //player.resume(); + player.play(); setState(() { isplaying = true; audioplayed = true; @@ -122,6 +154,7 @@ class _AudioPlayerContainerState extends State { ), onPressed: () async { player.stop(); + player.seek(const Duration(seconds: 0)); setState(() { isplaying = false; audioplayed = false; @@ -129,7 +162,7 @@ class _AudioPlayerContainerState extends State { }); }, 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 { ); } } + +// Feed your own stream of bytes into the player +class LoadedSource extends StreamAudioSource { + final List bytes; + LoadedSource(this.bytes); + + @override + Future 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', + ); + } +} diff --git a/lib/main.dart b/lib/main.dart index 8afc234..fd40ca6 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,4 +1,4 @@ -import 'package:audioplayers/audioplayers.dart'; +//import 'package:audioplayers/audioplayers.dart'; import 'package:flutter/material.dart'; import 'package:mymuseum_visitapp/Screens/Home/home.dart'; import 'package:provider/provider.dart'; @@ -30,7 +30,7 @@ void main() async { visitAppContext: localContext, ); - final AudioContext audioContext = AudioContext( + /*final AudioContext audioContext = AudioContext( iOS: AudioContextIOS( //defaultToSpeaker: true, category: AVAudioSessionCategory.ambient, @@ -38,7 +38,7 @@ void main() async { AVAudioSessionOptions.defaultToSpeaker, AVAudioSessionOptions.mixWithOthers, ], - ), + ),*/ /*android: AudioContextAndroid( isSpeakerphoneOn: true, stayAwake: true, @@ -46,8 +46,8 @@ void main() async { usageType: AndroidUsageType.assistanceSonification, audioFocus: AndroidAudioFocus.none, ),*/ - ); - AudioPlayer.global.setGlobalAudioContext(audioContext); + //); + //AudioPlayer.global.setGlobalAudioContext(audioContext); runApp(myApp); } diff --git a/lib/translations.dart b/lib/translations.dart index 65b7ee1..ef12c04 100644 --- a/lib/translations.dart +++ b/lib/translations.dart @@ -36,9 +36,9 @@ List translations = [ "downloadConfiguration": "Tour laden...", "noInternet": "Keine Internetverbindung erkannt", "search": "Suche", - "play": "", - "pause": "", - "stop": "" + "play": "Spiel", + "pause": "Pause", + "stop": "Stopp" }), Translation(language: "NL", data: { "visitTitle": "Lijst met rondleidingen", @@ -48,7 +48,10 @@ List translations = [ "languageNotSupported": "Deze tour ondersteunt je taal niet", "downloadConfiguration": "De rondleiding laden...", "noInternet": "Geen internetverbinding gedetecteerd", - "search": "Zoeken" + "search": "Zoeken", + "play": "Speel", + "pause": "Pauze", + "stop": "Stop" }), Translation(language: "IT", data: { "visitTitle": "Elenco dei tour", @@ -58,7 +61,10 @@ List translations = [ "languageNotSupported": "Questo tour non supporta la tua lingua", "downloadConfiguration": "Caricamento del tour...", "noInternet": "Nessuna connessione Internet rilevata", - "search": "Ricerca" + "search": "Ricerca", + "play": "Giocare a", + "pause": "Pausa", + "stop": "Fermare" }), Translation(language: "ES", data: { "visitTitle": "Lista de recorridos", @@ -68,7 +74,10 @@ List translations = [ "languageNotSupported": "Este tour no es compatible con tu idioma", "downloadConfiguration": "Cargando el recorrido...", "noInternet": "No se detectó conexión a Internet", - "search": "Búsqueda" + "search": "Búsqueda", + "play": "Tocar", + "pause": "Pausa", + "stop": "Parada" }), Translation(language: "PL", data: { "visitTitle": "Lista wycieczek", @@ -78,7 +87,10 @@ List translations = [ "languageNotSupported": "Ta wycieczka nie obsługuje Twojego języka", "downloadConfiguration": "Wczytuję prezentację...", "noInternet": "Nie wykryto połączenia internetowego", - "search": "Szukaj" + "search": "Szukaj", + "play": "Bawić się", + "pause": "Pauza", + "stop": "Stop" }), Translation(language: "CN", data: { "visitTitle": "旅游清单", @@ -88,6 +100,35 @@ List translations = [ "languageNotSupported": "此导览不支持您的语言", "downloadConfiguration": "正在加载导览...", "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": "قف" }), ]; \ No newline at end of file diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc index 1830e5c..e71a16d 100644 --- a/linux/flutter/generated_plugin_registrant.cc +++ b/linux/flutter/generated_plugin_registrant.cc @@ -6,10 +6,6 @@ #include "generated_plugin_registrant.h" -#include 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); } diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index e9abb91..2e1de87 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -3,7 +3,6 @@ # list(APPEND FLUTTER_PLUGIN_LIST - audioplayers_linux ) list(APPEND FLUTTER_FFI_PLUGIN_LIST diff --git a/pubspec.lock b/pubspec.lock index 4564449..4d965be 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -7,28 +7,28 @@ packages: name: _fe_analyzer_shared url: "https://pub.dartlang.org" source: hosted - version: "47.0.0" + version: "48.0.0" analyzer: dependency: transitive description: name: analyzer url: "https://pub.dartlang.org" source: hosted - version: "4.7.0" + version: "5.0.0" archive: dependency: transitive description: name: archive url: "https://pub.dartlang.org" source: hosted - version: "3.3.1" + version: "3.3.5" args: dependency: transitive description: name: args url: "https://pub.dartlang.org" source: hosted - version: "2.3.1" + version: "2.3.2" async: dependency: transitive description: @@ -36,55 +36,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.9.0" - audioplayers: - dependency: "direct main" - description: - name: audioplayers - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.0" - audioplayers_android: + audio_session: dependency: transitive description: - name: audioplayers_android + name: audio_session url: "https://pub.dartlang.org" source: hosted - version: "1.1.4" - 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" + version: "0.1.13" auto_size_text: dependency: "direct main" description: @@ -105,14 +63,14 @@ packages: name: build url: "https://pub.dartlang.org" source: hosted - version: "2.3.0" + version: "2.3.1" build_config: dependency: transitive description: name: build_config url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.1.1" build_daemon: dependency: transitive description: @@ -126,21 +84,21 @@ packages: name: build_resolvers url: "https://pub.dartlang.org" source: hosted - version: "2.0.9" + version: "2.0.10" build_runner: dependency: "direct dev" description: name: build_runner url: "https://pub.dartlang.org" source: hosted - version: "2.2.0" + version: "2.3.3" build_runner_core: dependency: transitive description: name: build_runner_core url: "https://pub.dartlang.org" source: hosted - version: "7.2.3" + version: "7.2.7" built_collection: dependency: transitive description: @@ -154,14 +112,14 @@ packages: name: built_value url: "https://pub.dartlang.org" source: hosted - version: "8.4.1" + version: "8.4.3" carousel_slider: dependency: "direct main" description: name: carousel_slider url: "https://pub.dartlang.org" source: hosted - version: "4.1.1" + version: "4.2.1" characters: dependency: transitive description: @@ -175,7 +133,7 @@ packages: name: checked_yaml url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.0.2" cli_util: dependency: transitive description: @@ -196,7 +154,7 @@ packages: name: code_builder url: "https://pub.dartlang.org" source: hosted - version: "4.2.0" + version: "4.4.0" collection: dependency: transitive description: @@ -210,7 +168,7 @@ packages: name: convert url: "https://pub.dartlang.org" source: hosted - version: "3.0.2" + version: "3.1.1" crypto: dependency: transitive description: @@ -231,7 +189,7 @@ packages: name: dart_style url: "https://pub.dartlang.org" source: hosted - version: "2.2.3" + version: "2.2.4" fake_async: dependency: transitive description: @@ -290,7 +248,7 @@ packages: name: flutter_svg url: "https://pub.dartlang.org" source: hosted - version: "1.1.5" + version: "1.1.6" flutter_svg_provider: dependency: "direct main" description: @@ -314,21 +272,21 @@ packages: name: frontend_server_client url: "https://pub.dartlang.org" source: hosted - version: "2.1.3" + version: "3.2.0" glob: dependency: transitive description: name: glob url: "https://pub.dartlang.org" source: hosted - version: "2.1.0" + version: "2.1.1" graphs: dependency: transitive description: name: graphs url: "https://pub.dartlang.org" source: hosted - version: "2.1.0" + version: "2.2.0" http: dependency: transitive description: @@ -349,14 +307,14 @@ packages: name: http_parser url: "https://pub.dartlang.org" source: hosted - version: "4.0.1" + version: "4.0.2" image: dependency: transitive description: name: image url: "https://pub.dartlang.org" source: hosted - version: "3.2.0" + version: "3.3.0" intl: dependency: "direct main" description: @@ -370,7 +328,7 @@ packages: name: io url: "https://pub.dartlang.org" source: hosted - version: "1.0.3" + version: "1.0.4" js: dependency: transitive description: @@ -384,7 +342,28 @@ packages: name: json_annotation url: "https://pub.dartlang.org" 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: dependency: transitive description: @@ -398,7 +377,7 @@ packages: name: logging url: "https://pub.dartlang.org" source: hosted - version: "1.0.2" + version: "1.1.0" manager_api: dependency: "direct main" description: @@ -433,7 +412,7 @@ packages: name: mime url: "https://pub.dartlang.org" source: hosted - version: "1.0.2" + version: "1.0.4" nested: dependency: transitive description: @@ -503,7 +482,7 @@ packages: name: path_provider_android url: "https://pub.dartlang.org" source: hosted - version: "2.0.20" + version: "2.0.22" path_provider_ios: dependency: transitive description: @@ -524,7 +503,7 @@ packages: name: path_provider_macos url: "https://pub.dartlang.org" source: hosted - version: "2.0.6" + version: "2.0.7" path_provider_platform_interface: dependency: transitive description: @@ -545,7 +524,7 @@ packages: name: petitparser url: "https://pub.dartlang.org" source: hosted - version: "5.0.0" + version: "5.1.0" photo_view: dependency: "direct main" description: @@ -567,6 +546,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.1.3" + pointycastle: + dependency: transitive + description: + name: pointycastle + url: "https://pub.dartlang.org" + source: hosted + version: "3.6.2" pool: dependency: transitive description: @@ -594,7 +580,7 @@ packages: name: pub_semver url: "https://pub.dartlang.org" source: hosted - version: "2.1.1" + version: "2.1.3" pubspec_parse: dependency: transitive description: @@ -609,20 +595,27 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.0.1" + rxdart: + dependency: transitive + description: + name: rxdart + url: "https://pub.dartlang.org" + source: hosted + version: "0.27.7" shelf: dependency: transitive description: name: shelf url: "https://pub.dartlang.org" source: hosted - version: "1.3.2" + version: "1.4.0" shelf_web_socket: dependency: transitive description: name: shelf_web_socket url: "https://pub.dartlang.org" source: hosted - version: "1.0.2" + version: "1.0.3" sky_engine: dependency: transitive description: flutter @@ -634,7 +627,7 @@ packages: name: source_gen url: "https://pub.dartlang.org" source: hosted - version: "1.2.2" + version: "1.2.6" source_span: dependency: transitive description: @@ -648,14 +641,14 @@ packages: name: sqflite url: "https://pub.dartlang.org" source: hosted - version: "2.0.3+1" + version: "2.2.3" sqflite_common: dependency: transitive description: name: sqflite_common url: "https://pub.dartlang.org" source: hosted - version: "2.2.1+1" + version: "2.4.1" stack_trace: dependency: transitive description: @@ -676,7 +669,7 @@ packages: name: stream_transform url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.1.0" string_scanner: dependency: transitive description: @@ -690,7 +683,7 @@ packages: name: synchronized url: "https://pub.dartlang.org" source: hosted - version: "3.0.0+3" + version: "3.0.1" term_glyph: dependency: transitive description: @@ -711,7 +704,7 @@ packages: name: timing url: "https://pub.dartlang.org" source: hosted - version: "1.0.0" + version: "1.0.1" typed_data: dependency: transitive description: @@ -725,7 +718,7 @@ packages: name: uuid url: "https://pub.dartlang.org" source: hosted - version: "3.0.6" + version: "3.0.7" vector_math: dependency: transitive description: @@ -739,28 +732,28 @@ packages: name: watcher url: "https://pub.dartlang.org" source: hosted - version: "1.0.1" + version: "1.0.2" web_socket_channel: dependency: transitive description: name: web_socket_channel url: "https://pub.dartlang.org" source: hosted - version: "2.2.0" + version: "2.3.0" win32: dependency: transitive description: name: win32 url: "https://pub.dartlang.org" source: hosted - version: "3.0.1" + version: "3.1.3" xdg_directories: dependency: transitive description: name: xdg_directories url: "https://pub.dartlang.org" source: hosted - version: "0.2.0+2" + version: "0.2.0+3" xml: dependency: transitive description: @@ -776,5 +769,5 @@ packages: source: hosted version: "3.1.1" sdks: - dart: ">=2.17.0 <3.0.0" - flutter: ">=3.0.0" + dart: ">=2.18.0 <3.0.0" + flutter: ">=3.3.0" diff --git a/pubspec.yaml b/pubspec.yaml index fff8491..aa77463 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -43,7 +43,8 @@ dependencies: photo_view: ^0.14.0 intl: ^0.17.0 flutter_launcher_icons: ^0.10.0 - audioplayers: ^2.0.0 + #audioplayers: ^2.0.0 + just_audio: ^0.9.31 manager_api: path: manager_api