PC SOFT

ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Home | Sign in | English EN
This content has been translated automatically. Click here to view the French version.
  • Photos and videos saved
  • Backup directories
  • Required application feature
  • Application in the background: Specific case from Android 10
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Starts the device's native camera application to record a video or to take a photo.
Remarks:
  • iPhone/iPad Remark: Syntax 2, which uses a non-locking call, is recommended, especially from iOS 8.
  • Universal Windows 10 App VideoStartApp must be run in a thread.
  • In a WINDEV application, VideoCapture can be used to record a video or to take a photo with the camera of the device.
  • Versions 22 and later
    This function is equivalent to CameraRunApp.
    New in version 22
    This function is equivalent to CameraRunApp.
    This function is equivalent to CameraRunApp.
Versions 17 and later
iPhone/iPad This function is now available for iPhone/iPad applications.
Universal Windows 10 App This function is now available for Windows Phone applications.
New in version 17
iPhone/iPad This function is now available for iPhone/iPad applications.
Universal Windows 10 App This function is now available for Windows Phone applications.
iPhone/iPad This function is now available for iPhone/iPad applications.
Universal Windows 10 App This function is now available for Windows Phone applications.
Versions 18 and later
Universal Windows 10 App This function is now available in Windows Store apps mode.
Android Widget This function is now available in Android Widget mode.
New in version 18
Universal Windows 10 App This function is now available in Windows Store apps mode.
Android Widget This function is now available in Android Widget mode.
Universal Windows 10 App This function is now available in Windows Store apps mode.
Android Widget This function is now available in Android Widget mode.
Versions 21 and later
Universal Windows 10 App This function is now available in Universal Windows 10 App mode.
New in version 21
Universal Windows 10 App This function is now available in Universal Windows 10 App mode.
Universal Windows 10 App This function is now available in Universal Windows 10 App mode.
Example
sPhoto is string
sPhoto = VideoStartApp(viPictureCapture)
IF sPhoto <> "" THEN
Info("Photo sauvegardée dans le fichier " + sPhoto)
END
Versions 21 and later
nTypeEnregistrement is int
 
// Laisse l'utilisateur décider du type de capture
IF Dialog("Souhaitez-vous enregistrer une image ou une vidéo?", ...
["Une image", "Une vidéo"], 1, 2, dlgIconQuestion) = 1 THEN
nTypeEnregistrement = viPictureCapture
ELSE
nTypeEnregistrement = viVideoCapture
END
 
// Lance l'application
VideoStartApp(nTypeEnregistrement, CB_VideoLanceAppli)
 
INTERNAL PROCÉDURE CB_VideoLanceAppli(sChemin is string)
 
// Si le retour vaut chaîne vide (""), une erreur a eu lieu
IF sChemin ~= "" THEN
Error(ErrorInfo())
RETURN
END
 
// Message de fin d'enregistrement
Info("Le fichier a été enregistré ici: " + sChemin)
New in version 21
nTypeEnregistrement is int
 
// Laisse l'utilisateur décider du type de capture
IF Dialog("Souhaitez-vous enregistrer une image ou une vidéo?", ...
["Une image", "Une vidéo"], 1, 2, dlgIconQuestion) = 1 THEN
nTypeEnregistrement = viPictureCapture
ELSE
nTypeEnregistrement = viVideoCapture
END
 
// Lance l'application
VideoStartApp(nTypeEnregistrement, CB_VideoLanceAppli)
 
INTERNAL PROCÉDURE CB_VideoLanceAppli(sChemin is string)
 
// Si le retour vaut chaîne vide (""), une erreur a eu lieu
IF sChemin ~= "" THEN
Error(ErrorInfo())
RETURN
END
 
// Message de fin d'enregistrement
Info("Le fichier a été enregistré ici: " + sChemin)
nTypeEnregistrement is int
 
// Laisse l'utilisateur décider du type de capture
IF Dialog("Souhaitez-vous enregistrer une image ou une vidéo?", ...
["Une image", "Une vidéo"], 1, 2, dlgIconQuestion) = 1 THEN
nTypeEnregistrement = viPictureCapture
ELSE
nTypeEnregistrement = viVideoCapture
END
 
// Lance l'application
VideoStartApp(nTypeEnregistrement, CB_VideoLanceAppli)
 
INTERNAL PROCÉDURE CB_VideoLanceAppli(sChemin is string)
 
// Si le retour vaut chaîne vide (""), une erreur a eu lieu
IF sChemin ~= "" THEN
Error(ErrorInfo())
RETURN
END
 
// Message de fin d'enregistrement
Info("Le fichier a été enregistré ici: " + sChemin)
Syntax

Starting the native camera application (locking call) Hide the details

<Result> = VideoStartApp([<Type of capture>])
<Result>: Character string
  • Full path of file where the photo or the video was saved,
  • Empty string ("") if an error occurred. To get the details of the error, use ErrorInfo.
<Type of capture>: Optional integer constant
Type of capture:
viPictureCaptureSave a photo.
viVideoCapture
(Default value)
Capture a video sequence.
Versions 21 and later

Starting the native camera application (non-locking call) Hide the details

<Result> = VideoStartApp([<Type of capture> [, <WLanguage procedure>]])
<Result>: Boolean
  • True if the photo or video was saved.
  • False otherwise. To get the details of the error, use ErrorInfo.
<Type of capture>: Optional integer constant
Type of capture:
viPictureCaptureSave a photo.
viVideoCapture
(Default value)
Capture a video sequence.
<WLanguage procedure>: Procedure name
Name of the WLanguage procedure (also called "callback") called when Record the photo or video.
This procedure has the following format:
PROCEDURE <Nom de la procédure> (<Chemin>)

where <Path> corresponds to the backup path of image or video.
New in version 21

Starting the native camera application (non-locking call) Hide the details

<Result> = VideoStartApp([<Type of capture> [, <WLanguage procedure>]])
<Result>: Boolean
  • True if the photo or video was saved.
  • False otherwise. To get the details of the error, use ErrorInfo.
<Type of capture>: Optional integer constant
Type of capture:
viPictureCaptureSave a photo.
viVideoCapture
(Default value)
Capture a video sequence.
<WLanguage procedure>: Procedure name
Name of the WLanguage procedure (also called "callback") called when Record the photo or video.
This procedure has the following format:
PROCEDURE <Nom de la procédure> (<Chemin>)

where <Path> corresponds to the backup path of image or video.

Starting the native camera application (non-locking call) Hide the details

<Result> = VideoStartApp([<Type of capture> [, <WLanguage procedure>]])
<Result>: Boolean
  • True if the photo or video was saved.
  • False otherwise. To get the details of the error, use ErrorInfo.
<Type of capture>: Optional integer constant
Type of capture:
viPictureCaptureSave a photo.
viVideoCapture
(Default value)
Capture a video sequence.
<WLanguage procedure>: Procedure name
Name of the WLanguage procedure (also called "callback") called when Record the photo or video.
This procedure has the following format:
PROCEDURE <Nom de la procédure> (<Chemin>)

where <Path> corresponds to the backup path of image or video.
Remarks

Photos and videos saved

The photo and video settings (format, resolution, size) are the ones defined in the native camera application.

Backup directories

AndroidAndroid Widget In Android applications, the photo or video is stored on the SD Card of the device and is automatically added to the album.
Versions 17 and later
If photos must be used in your Android applications, we advise you to work with thumbnails and not with the initial photos taken by the device. To generate the thumbnails, use VideoGenerateThumbnail.
New in version 17
If photos must be used in your Android applications, we advise you to work with thumbnails and not with the initial photos taken by the device. To generate the thumbnails, use VideoGenerateThumbnail.
If photos must be used in your Android applications, we advise you to work with thumbnails and not with the initial photos taken by the device. To generate the thumbnails, use VideoGenerateThumbnail.
iPhone/iPad In iPhone/iPad applications:
By default:
  • the photos are saved in the "Documents" directory of application.
  • the videos are saved in the "tmp" directory of application.
For the images, you can also:
  • store the binary content of the image in a database, via a Memo item.
  • add the photo to the photo album of the device with AlbumSave. In this case, the image can be re-used via AlbumPicker.
The path returned by the function (syntax 1) or found in the procedure (syntax 2) has the following format:
/private/var/mobile/Containers/Data/Application/D235EF25-455B-4362-8941-0FD09C1D693D/Documents/photo504031018058.jpg
The directory (identified by "D235EF25-455B-4362-8941-0FD09C1D693D") can be renamed whenever the application is installed and updated.
In an iPhone/iPad application, you must only store the file name and extension in order to re-create the path by programming to access the photo.
Reminder: To rebuild the full path of photo, all you have to do is use fDataDir.
Versions 21 and later
Universal Windows 10 App

Required application feature

The use of this function triggers the declaration of several application features in the application generation wizard.
Required features:
  • Microphone: This feature allows the applications to perform audio recordings.
  • WebCam: This feature allows the applications to capture videos or photos.
New in version 21
Universal Windows 10 App

Required application feature

The use of this function triggers the declaration of several application features in the application generation wizard.
Required features:
  • Microphone: This feature allows the applications to perform audio recordings.
  • WebCam: This feature allows the applications to capture videos or photos.
Universal Windows 10 App

Required application feature

The use of this function triggers the declaration of several application features in the application generation wizard.
Required features:
  • Microphone: This feature allows the applications to perform audio recordings.
  • WebCam: This feature allows the applications to capture videos or photos.
Versions 25 and later
AndroidAndroid Widget

Application in the background: Specific case from Android 10

From Android 10, it is no longer possible to open a window when the application is in the background.
VideoStartApp can open a window. If this function is used while the application is in the background, a fatal error will occur.
Tips:
  • It is possible to determine if the application is in the background using InBackgroundMode.
  • If an application needs to interact with the user while it is in the background, the solution is to display a notification (via the Notification type). The application will be brought back to the foreground when the notification is clicked, if the ActivateApplication property is set to True. You can also open a window from the procedure passed to the ActionClick property.
New in version 25
AndroidAndroid Widget

Application in the background: Specific case from Android 10

From Android 10, it is no longer possible to open a window when the application is in the background.
VideoStartApp can open a window. If this function is used while the application is in the background, a fatal error will occur.
Tips:
  • It is possible to determine if the application is in the background using InBackgroundMode.
  • If an application needs to interact with the user while it is in the background, the solution is to display a notification (via the Notification type). The application will be brought back to the foreground when the notification is clicked, if the ActivateApplication property is set to True. You can also open a window from the procedure passed to the ActionClick property.
AndroidAndroid Widget

Application in the background: Specific case from Android 10

From Android 10, it is no longer possible to open a window when the application is in the background.
VideoStartApp can open a window. If this function is used while the application is in the background, a fatal error will occur.
Tips:
  • It is possible to determine if the application is in the background using InBackgroundMode.
  • If an application needs to interact with the user while it is in the background, the solution is to display a notification (via the Notification type). The application will be brought back to the foreground when the notification is clicked, if the ActivateApplication property is set to True. You can also open a window from the procedure passed to the ActionClick property.
Related Examples:
WM Expense Account Cross-platform examples (WINDEV Mobile): WM Expense Account
[ + ] This example allows you to manage your fees.

Let's see the main features of this application:
- The input of invoices
- Management of foreign currencies
- Inclusion of photo document for the invoices
- Ability to email the expense account
- Ability to track the expense accounts
- ...
Business / UI classification: UI Code
Component: wd260android.aar
Minimum version required
  • Version 16
This page is also available for…
Comments
Click [Add] to post a comment