Choix des pistes, écoute en ligne, playlists et source Wikimedia (1.2.0)
Un album ou un livre se téléchargeait en aveugle : l'application retenait une piste arbitraire sans jamais dire laquelle ni ce qu'elle pesait. La fiche d'un résultat liste désormais toutes ses pistes avec durée et taille, le total est annoncé, et le bouton chiffre ce qu'on s'apprête à emporter. Chaque piste s'essaie d'abord en streaming, sans rien mettre en cache. Les playlists manquaient pour organiser ce qu'on garde : listes nommées, ajout par appui long, lecture enchaînée. Les contrôles se complètent d'un arrêt et de sauts de quinze secondes. Le filtre de langue de LibriVox ne pouvait pas marcher côté serveur : l'API accepte le paramètre puis l'ignore, « language=French » seul renvoyant des livres anglais. Le tri se fait sur le champ de chaque livre. Les délais réseau suivent la latence réellement mesurée des services, LibriVox répondant en quatorze à seize secondes quelle que soit la taille demandée. Wikimedia Commons rejoint les catalogues libres. Openverse et ccMixter ont été essayés puis écartés : le premier refuse l'accès anonyme, le second exige un en-tête Referer que Media3 ne sait pas poser par téléchargement.
This commit is contained in:
1 parent
c1912c2056
commit
2dabfdbc84
24 files changed
+1311
-177
No files matched your search
@@ -6,7 +6,7 @@
|
||||
[](https://kotlinlang.org)
|
||||
[](https://developer.android.com/jetpack/compose)
|
||||
[](https://developer.android.com/media/media3)
|
||||
[](VERSION)
|
||||
[](VERSION)
|
||||
[](#-comment-ça-marche)
|
||||
|
||||
Cachette est un lecteur audio et vidéo pensé pour les trajets, les tunnels, les avions et les
|
||||
@@ -30,11 +30,16 @@ sans la moindre connexion.
|
||||
| 🎵 **Audio et vidéo** | Un seul lecteur, une seule file d'attente, la vidéo bascule sur une surface dédiée |
|
||||
| 📥 **Mise en cache explicite** | Rien n'est téléchargé sans un geste : vous décidez quoi garder |
|
||||
| 🔍 **Parcours des sources** | On entre dans une source, on coche ce qu'on veut, on télécharge en lot |
|
||||
| 🎧 **Écoute avant téléchargement** | Chaque piste s'essaie en ligne d'un appui, sans rien mettre en cache |
|
||||
| 🧾 **Choix piste par piste** | Un album ou un livre affiche ses pistes avec leur taille : on n'emporte que ce qu'on veut |
|
||||
| 🌍 **Filtrage par langue** | Français, anglais, allemand, espagnol, italien, néerlandais |
|
||||
| 📋 **Playlists** | Listes nommées, appui long pour y ajouter un titre, lecture enchaînée |
|
||||
| 🎼 **Catalogues libres de droits** | Recherche intégrée dans Internet Archive et LibriVox, sans compte ni clé d'API |
|
||||
| 📻 **Podcasts RSS** | Un flux, ses épisodes, et le choix de ceux qu'on emporte |
|
||||
| 🔗 **Liens directs** | N'importe quelle URL audio ou vidéo, y compris un serveur média auto-hébergé |
|
||||
| 📱 **Contenu de l'appareil** | Lecture de la bibliothèque MediaStore, déjà disponible hors connexion par nature |
|
||||
| 🎛️ **Lecture en arrière-plan** | Notification système, casque, Bluetooth, écran verrouillé |
|
||||
| ⏯️ **Contrôles complets** | Lecture, pause, arrêt, piste précédente et suivante, ±15 s |
|
||||
| 🌙 **Thème clair et sombre** | Material 3, palette de marque, contraste garanti |
|
||||
| 🔁 **Reprise automatique** | Un téléchargement coupé repart tout seul via WorkManager |
|
||||
| 🆕 **Mise à jour intégrée** | Surveille les releases du dépôt, télécharge l'APK en Wi-Fi et propose l'installation |
|
||||
@@ -49,7 +54,16 @@ sans la moindre connexion.
|
||||
| 🔗 Lien direct | ✅ | URL `http(s)` vers un fichier audio ou vidéo |
|
||||
| 📻 Podcast RSS | ✅ | Flux standard avec `<enclosure>` |
|
||||
| 🏛️ Internet Archive | ✅ | Domaine public / Creative Commons |
|
||||
| 📚 LibriVox | ✅ | Livres audio du domaine public |
|
||||
| 📚 LibriVox | ✅ | Livres audio du domaine public, filtrables par langue |
|
||||
| 🎼 Wikimedia Commons | ✅ | Enregistrements classiques et archives sonores libres |
|
||||
|
||||
### 🔎 Catalogues évalués puis écartés
|
||||
|
||||
| Candidat | Pourquoi non |
|
||||
|---|---|
|
||||
| **Openverse** | A cessé de servir l'accès anonyme : **401 sur huit requêtes sur huit**, et jusqu'à 21 s de latence quand il répondait encore. Exige désormais une inscription. |
|
||||
| **ccMixter** | La recherche fonctionne, mais les fichiers ne sont servis qu'avec un en-tête `Referer` — que Media3 ne permet pas de poser par téléchargement. |
|
||||
| **Radio Browser** | Flux radio continus : rien à mettre en cache. |
|
||||
|
||||
### ⚖️ Ce que Cachette ne fait pas — et pourquoi
|
||||
|
||||
@@ -217,7 +231,8 @@ app/src/main/java/fr/tuxgyver/cachette/
|
||||
├── offline/ Cache Media3, gestionnaire et service de téléchargement
|
||||
├── playback/ MediaSessionService, ExoPlayer, contrôleur d'interface
|
||||
├── update/ Vérification des releases, téléchargement, notification
|
||||
└── ui/ Compose — thème, bibliothèque, hors ligne, sources, parcours, lecteur
|
||||
└── ui/ Compose — thème, bibliothèque, hors ligne, playlists, sources,
|
||||
parcours des catalogues, choix des pistes, lecteur
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Reference in new issue
Block a user