PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Autoriser la camera et le micro sur champs HTML WD26
Autoriser la camera et le micro sur champs HTML WD26
Started by Amine, Jun., 25 2021 4:30 PM - 8 replies
Registered member
138 messages
Popularité : +7 (7 votes)
Posted on June, 25 2021 - 4:30 PM
Bonjour,
J'ai un application médicale sous WinDev 26 et nous souhaitons mettre en place un système de téléconsultation, nous avons pensé utiliser le champs HTML pour charger Google meet, zoom ou autre afin de permettre de lancer une visoconference avec le patient en partageant le lien de la visio

la connexion avec les patients fonctionne bien par contre on arrive pas a autoriser l'utilisation de la camera et du micro depuis le champs HTML

la reception de la video et de l'audio du patient fonctionne, mais pas l'emission , le navigateur indique que les autorisations ne sont attribué, par contre aucun popup ne s'affiche pour donner cette autorisation

merci
Registered member
160 messages
Popularité : +18 (22 votes)
Posted on June, 25 2021 - 4:56 PM
Il faut passer par javascript :
exemple pour la cam
var video = document.querySelector("#IdTonChampHTML");

if (navigator.mediaDevices.getUserMedia) {
  navigator.mediaDevices.getUserMedia({ video: true }) // 
    .then(function (stream) {
      video.srcObject = stream;
    })
    .catch(function (err0r) {
      console.log("Erreur!");
    });
}
Registered member
160 messages
Popularité : +18 (22 votes)
Posted on June, 25 2021 - 5:00 PM
j ai jamais utilisé le champ html je sais s il accepte JS
Registered member
138 messages
Popularité : +7 (7 votes)
Posted on June, 25 2021 - 5:25 PM
le champ html autorise l'execution de script html
par contre comment recuperer #IdTonChampHTML ?
merci
Registered member
23 messages
Posted on September, 01 2021 - 1:33 PM
Bonjour Amine,

Tu as trouvé une solution ? Je rencontre le meme problème pour l'intégration d'un service voip

Merci

--
Cordialement,

Franck MATIGNON
Registered member
950 messages
Popularité : +53 (63 votes)
Posted on September, 01 2021 - 1:54 PM
Bonjour,

J'ai demandé l'information au support, ils m'ont répondu que dans l'immédiat ce n'était pas possible, ça le serait dans une prochaine maj,

Le champs html, utilise chrome, c'est le flag enable-media-stream qu'il faut activer, mais on a actuellement aucun moyen de le faire avec la version actuel,

le seul moyen est de passé par cefsharp et de l'intégrer à la main dans windev avec cette solution :

https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windev/196486-wd21-projet-demonstration-chromium/read.awp

Jordan
Registered member
138 messages
Popularité : +7 (7 votes)
Posted on September, 01 2021 - 3:09 PM
je confirme, ce n'est pas possible sur le champs HTML WD26 actuel "Retour du ST"
pour résoudre le problème j'ai intégré cefsharp et ca a marché, je peux maintenant lancer jitsi depuis mes application WinDev et proposer ainsi des visio conférence, téléconsultation, ...
Registered member
156 messages
Popularité : +3 (3 votes)
Posted on October, 20 2021 - 5:21 PM
Bonjour Amine,
Avez-vous trouvé une solution ?
Le ST vient de me répondre : "Il ne s'agit pas de possibilités intégrées au champ HTML actuel, je le regrette.
Une suggestion en ce sens a été transmise à notre équipe Développement. J'espère que les implémentations nécessaires pourront être planifiées rapidement."
Généralement les suggestions restent sans réponse. Donc peu d'espoir de voir cette fonctionnalité dans les 927 nouveautés de la v27 ...
Registered member
962 messages
Popularité : +183 (185 votes)
Posted on October, 21 2021 - 8:32 AM
Hello,
Pokedev a écrit :
Le ST vient de me répondre : "Il ne s'agit pas de possibilités intégrées au champ HTML actuel, je le regrette.
Une suggestion en ce sens a été transmise à notre équipe Développement. J'espère que les implémentations nécessaires pourront être planifiées rapidement."

Cela ne devrait pourtant pas trop compliqué à faire : En utilisant la même version de chromium que celle du champ Html de windev 26 (c'est à dire la version 83) avec CefSharp j'arrive à activer les médias en ajoutant seulement à l'initialisation du composant :
settings est un CefSettings()
settings.CefCommandLineArgs.Add("enable-media-stream")

SI PAS Cef.IsInitialized ALORS
Cef.Initialize(settings)
FIN


Il faudra que cela soit optionnel parce que l'autorisation systématique des médias peut-être dangereuse (espionnage).
avec ce code HTML pour visualiser la vidéo d'une webcam :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>SampleWebCam</title>
<style>
.vContainer {
margin: 0px auto;
width: 500px;
height: 375px;
border: 10px #333 solid;
}
#videoElement {
width: 500px;
height: 375px;
background-color: #666;
}
</style>
</head>

<body>
<div class="vContainer">
<video id="videoElement" autoplay />
</div>
<script>
const video = document.querySelector("#videoElement");
if (navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia({ video: true })
.then(function (stream) {
video.srcObject = stream;
})
.catch(function (err0r) {
console.log("Something went wrong!");
});
}
</script>
</body>
</html>


voici ce que j'obtiens avec un CefSharp 83 :







Sans le code que j'ai ajouté en initialisation , la vidéo de la webcam ne s'affiche pas.
Amine quelle version de CefSharp utilises-tu ? parce que je crois que c'est depuis la version 45 de chromium qu'il y a le contrôle de l'autorisation de la webcam.

--
Ami calmant, J.P