DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Champs, pages et fenêtres / Fonctions vidéo
  • Photos et vidéos enregistrées
  • Répertoires de sauvegarde
  • Fonctionnalité d'application requise
  • Application en arrière-plan : Spécificité à partir de Android 10
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Lance l'application caméra native de l'appareil afin d'enregistrer une vidéo ou de prendre une photo.
Remarques :
  • iPhone/iPadWidget IOSMac Catalyst Remarque : La syntaxe 2 utilisant un appel non bloquant est conseillée, notamment à partir de iOS 8.
  • Universal Windows 10 App La fonction VidéoLanceAppli doit être exécutée dans un thread.
  • Dans une application WINDEV, la fonction VideoCapture peut être utilisée pour obtenir une vidéo ou prendre une photo en utilisant la caméra du périphérique.
  • Cette fonction est équivalente à la fonction CaméraLanceAppli.
Exemple
sPhoto est une chaîne
sPhoto = VidéoLanceAppli(viCaptureImage)
SI sPhoto <> "" ALORS
Info("Photo sauvegardée dans le fichier " + sPhoto)
FIN
nTypeEnregistrement est un entier
// Laisse l'utilisateur décider du type de capture
SI Dialogue("Souhaitez-vous enregistrer une image ou une vidéo ?", ...
["Une image", "Une vidéo"], 1, 2, dlgIcôneQuestion) = 1 ALORS
nTypeEnregistrement = viCaptureImage
SINON
nTypeEnregistrement = viCaptureVidéo
FIN
// Lance l'application
VidéoLanceAppli(nTypeEnregistrement, CB_VideoLanceAppli)
 
PROCÉDURE INTERNE CB_VideoLanceAppli(sChemin est une chaîne)
// Si le retour vaut chaîne vide (""), une erreur a eu lieu
SI sChemin ~= "" ALORS
Erreur(ErreurInfo())
RETOUR
FIN
// Message de fin d'enregistrement
Info("Le fichier a été enregistré ici : " + sChemin)
FIN
Syntaxe

Lancer l'application caméra native (appel bloquant) Masquer les détails

<Résultat> = VidéoLanceAppli([<Type de capture>])
<Résultat> : Chaîne de caractères
  • Chemin complet du fichier dans lequel la photo ou la vidéo a été enregistrée,
  • Chaîne vide ("") en cas d'erreur. Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo.
<Type de capture> : Constante optionnelle de type entier
Type de capture :
viCaptureImageEnregistrement d'une photo.
viCaptureVidéo
(Valeur par défaut)
Capture d'une séquence vidéo.

Lancer l'application caméra native (appel non bloquant) Masquer les détails

<Résultat> = VidéoLanceAppli([<Type de capture> [, <Procédure WLangage>]])
<Résultat> : Booléen
  • Vrai si la photo ou la vidéo a été enregistrée,
  • Faux dans le cas contraire. Pour plus de détails, utilisez la fonction ErreurInfo.
<Type de capture> : Constante optionnelle de type entier
Type de capture :
viCaptureImageEnregistrement d'une photo.
viCaptureVidéo
(Valeur par défaut)
Capture d'une séquence vidéo.
<Procédure WLangage> : Nom de procédure
Nom de la procédure WLangage (également nommée "callback") appelée lors de l'enregistrement de la photo ou de la vidéo.
Cette procédure est de la forme :
PROCEDURE <Nom de la procédure> (<Chemin>)

où <Chemin> correspond au chemin de sauvegarde de l'image ou de la vidéo.
Remarques

Photos et vidéos enregistrées

Les paramètres des photos et des vidéos enregistrées (format, résolution, taille) sont ceux définis dans le paramétrage de l'application native de prise de photos.

Répertoires de sauvegarde

AndroidWidget Android Dans les applications Android, la photo ou la vidéo est stockée sur la SDCard de l'appareil et est également automatiquement ajoutée à l'album.
Si des photos doivent être utilisées dans vos applications Android, il est conseillé de travailler avec des miniatures et non les photos originales prises par l'appareil. Pour générer les miniatures, utilisez la fonction VidéoGénèreMiniature.
iPhone/iPadWidget IOSMac Catalyst Dans les applications iPhone/iPad :
Par défaut :
  • les photos sont enregistrées dans le répertoire "Documents" de l'application.
  • les vidéos sont enregistrées dans le répertoire "Tmp" de l'application.
Pour les images, il est possible également de :
  • mémoriser le contenu binaire de l'image dans une base de données, grâce à une rubrique de type Mémo.
  • ajouter la photo dans l'album photo de l'appareil grâce à la fonction AlbumSauve. Dans ce cas, l'image pourra être réutilisée grâce à la fonction AlbumSélecteur.
Le chemin renvoyé par la fonction (syntaxe 1) ou présent dans la procédure (syntaxe 2) est de la forme :
/private/var/mobile/Containers/Data/Application/D235EF25-455B-4362-8941-0FD09C1D693D/Documents/photo504031018058.jpg
Le répertoire (identifié par "D235EF25-455B-4362-8941-0FD09C1D693D") peut être renommé à chaque nouvelle installation de l'application et à chaque nouvelle mise à jour.
Dans une application iPhone/iPad, il convient donc de mémoriser uniquement le nom et l'extension du fichier afin de recréer le chemin par programmation pour accéder à la photo.
Rappel : Pour reconstruire le chemin complet de la photo, il suffit d'utiliser la fonction fRepDonnées.
Universal Windows 10 App

Fonctionnalité d'application requise

L'utilisation de cette fonction entraîne la déclaration de plusieurs fonctionnalités d'application dans l'assistant de génération de l'application.
Fonctionnalités requises :
  • Microphone : Cette fonctionnalité permet aux applications d'effectuer des enregistrements audio.
  • WebCam : Cette fonctionnalité permet aux applications d'effectuer des captures de vidéos ou de photos.
AndroidWidget Android

Application en arrière-plan : Spécificité à partir de Android 10

A partir de Android 10, il n'est plus possible d'ouvrir une fenêtre lorsque l'application est en arrière-plan.
La fonction VidéoLanceAppli peut provoquer l'ouverture d'une fenêtre. Si cette fonction est utilisée alors que l'application est en arrière-plan, une erreur fatale sera générée.
Conseils :
  • Il est possible de savoir si l'application est en arrière-plan grâce à la fonction EnModeArrièrePlan.
  • Si une application a besoin d'interagir avec l'utilisateur alors qu'elle se trouve en arrière-plan, la solution consiste à afficher une notification (via le type Notification). Lors du clic sur la notification, l'application sera remise au premier plan si la propriété ActiveApplication est à Vrai. Il est également possible d'ouvrir une fenêtre depuis la procédure passée à la propriété ActionClic.
Liste des exemples associés :
WM Note de frais Exemples multiplateforme (WINDEV Mobile) : WM Note de frais
[ + ] Cet exemple permet de gérer vos notes de frais.

Voici les principales fonctionnalités de cette application :
- La saisie des factures
- Gestion des devises étrangères
- Ajout de justificatif photo pour les factures
- Envoi par mail de la note de frais
- Suivi des notes de frais
- ...
Classification Métier / UI : Code UI
Composante : wd290android.aar
Version minimum requise
  • Version 16
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 22/06/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale