Projet open source
zhongjhATC/AlbumCameraRecorder avatar
zhongjhATC/AlbumCameraRecorder

AlbumCameraRecorderX : appels multimédia, personnalisation et affichage en grille neuf cases

Une bibliothèque d'opérations de support multimédia efficace, peut être une variété de fonctions de configuration simples, d'album, de photo, d'enregistrement, d'enregistrement et autres. Prend également en charge l'utilisation de l'affichage d'images, de vidéos, d'audio de la fonction à neuf grilles. .

1 141 étoiles139 forksKotlinMIT
GitHub

En bref

De quoi s’agit-il ?
zhongjhATC/AlbumCameraRecorder est une bibliothèque multimédia écrite en Kotlin et basée sur CameraX. Elle couvre l'album, la photo, l'enregistrement vidéo et l'enregistrement audio, avec un composant d'affichage en grille neuf cases.
À qui s’adresse-t-il ?
La branche par défaut du dépôt est kotlin. La version 2028 est distribuée via JitPack ; la branche androidx n'est plus maintenue.
Puis-je l’utiliser commercialement ?
Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 2 jours.
En quel langage est-il écrit ?
Principalement Kotlin, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Branche par défaut et état des versions

La branche par défaut de zhongjhATC/AlbumCameraRecorder est kotlin. La version sur cette branche est identifiée par 2028 dans les coordonnées de dépendance et provient du dépôt JitPack. Le README avertit que si vous avez besoin d'une version plus stable, vous pouvez utiliser la branche androidx, dont les versions ressemblent à 1.-.--X, mais cette branche n'est plus maintenue sauf en cas de bugs graves. L'attention du développement est donc sur la branche kotlin, et la branche androidx n'existe que pour ceux qui ont besoin de l'ancienne ligne stable.

Ce que la bibliothèque couvre réellement

Le README décrit le projet comme une bibliothèque multimédia efficace qui permet de configurer la prise de photo, l'accès à l'album, l'enregistrement vidéo et l'enregistrement audio avec des réglages simples. Elle inclut aussi un composant de grille neuf cases pour afficher les images, vidéos et audios obtenus. La liste des fonctionnalités montre qu'il ne s'agit pas d'un simple sélecteur : la bibliothèque combine la sélection d'album, la prise de vue, l'enregistrement, l'affichage et l'édition dans un même système, et les développeurs choisissent les pièces nécessaires via la configuration.

Fonctions de prise de vue, d'enregistrement et d'édition

La branche kotlin utilise CameraX pour la prise de vue. Le README indique que cela facilite la personnalisation des paramètres de prise de vue et simplifie les filigranes dynamiques. L'enregistrement et la photographie prennent en charge le flash, le changement de caméra avant/arrière, le zoom à deux doigts et le réglage de la luminosité à un doigt ; l'enregistrement prend en charge l'enregistrement segmenté. L'édition d'image couvre le graffiti coloré, la saisie de texte, le traitement en mosaïque, la rotation et le recadrage. L'édition vidéo ne propose actuellement que la compression, avec d'autres fonctions annoncées. Le module videoedit dépend de ffmpeg et ajoute environ 25M de taille de fichier.

Dépendances modulaires

La bibliothèque est répartie en plusieurs artefacts pour contrôler ce qu'un projet doit importer. L'artefact combined inclut multilibrary, grid et common ensemble. Common est la bibliothèque partagée. Multilibrary est le noyau qui appelle et affiche l'album, l'enregistrement et l'audio. Grid est un complément pour afficher les données renvoyées et la progression du téléchargement ; si vous n'avez besoin que des photos, vidéos et audios, vous pouvez l'ignorer. Imageedit gère l'édition d'image. Videoedit gère l'édition vidéo et est facultatif en raison du coût ffmpeg. Un projet qui ne fait que la sélection d'album n'a pas besoin d'importer les modules d'édition ou de grille.

Installation et ce que montre l'exemple de code

Le README donne le parcours d'installation complet : ajouter le dépôt JitPack, ajouter les dépendances, puis activer Jetifier et AndroidX dans le fichier gradle. L'exemple d'utilisation configure les paramètres de caméra, d'album et d'enregistreur via MultiMediaSetting, définit des limites de sélection par type, puis lance avec un ActivityResultLauncher et récupère le résultat sous forme de List<LocalMedia>. L'exemple peut servir de point de départ, mais les classes qu'il référence, comme Glide4Engine et GifSizeFilter, ne sont pas définies dans le README. Leur compilation dans la version actuelle doit être vérifiée avec la démo et les versions de dépendances réelles.

Personnalisation, permissions et affirmations de compatibilité

Le README liste un large éventail de points de personnalisation : moteurs de chargement d'images personnalisés comme Glide ou Fresco, styles et couleurs d'album personnalisés, interfaces de caméra et d'enregistreur personnalisées, et demandes de permission personnalisées. La gestion intégrée des permissions détecte les permissions, explique pourquoi une permission est demandée et invite à passer dans les réglages après des refus répétés. Sur la compatibilité, le README dit que la bibliothèque gère Android 4.1 à Android 16 et lie un rapport de test qui revendique 100 % de réussite sur les téléphones courants. Ce sont les affirmations du README ; la couverture et la méthodologie sont dans le rapport lié.

Documentation et canaux de support

Le README pointe plusieurs parcours d'apprentissage. Pour les extensions simples, il renvoie à la démo ; pour les changements plus profonds, à un article en chinois intitulé Brief Introduction to CameraFragment Architecture. Les problèmes courants peuvent être recherchés dans Issues, et il existe un exemple de code pour l'affichage en grille. Les liens d'API couvrent GlobalSettingApi, AlbumSettingApi, CameraSettingApi, RecorderSettingApi, AlbumCameraRecorderApi et styles.xml pour le multimédia, ainsi que GridViewApi, GridViewListener et attrs.xml pour la bibliothèque de grille. Un groupe QQ portant le numéro 915053430 a été créé le 28 avril 2021 pour résoudre les problèmes rapidement, bien que le README recommande de créer d'abord une Issue pour que les utilisateurs suivants puissent la retrouver.

Pour AlbumCameraRecorder, installez l'application ou le composant selon les instructions du README, accordez uniquement les permissions nécessaires, puis vérifiez le parcours prise de vue, aperçu, sauvegarde et retour à l'album. Testez l'orientation, l'absence de permission caméra et le refus d'accès au stockage. Observez le format, la résolution et le nom du fichier produits, ainsi que le comportement après rotation de l'écran. Les API Android et les versions de compilation mentionnées par le dépôt doivent être comparées à votre projet; une démonstration fonctionnelle ne prouve pas la compatibilité avec toutes les versions du système.

Conclusion éditoriale

La branche par défaut du dépôt est kotlin. La version 2028 est distribuée via JitPack ; la branche androidx n'est plus maintenue. Les affirmations du README doivent être vérifiées dans le code réel et la démo avant de s'y fier. Avant adoption, exécutez le contrôle propre à AlbumCameraRecorder, relevez la sortie et vérifiez la limite qui concerne vos données.

Sources officielles

  1. Official README
  2. Project repository
  3. Release notes
Notes de la communauté

Notes de la communauté