web-dev-qa-db-fra.com

Android Emulator: impossible de démarrer la webcam pour capturer une image dans l'émulateur

J'ai créé un émulateur armeabi API 21 dans le gestionnaire AVD d'Android Studio, je l'ai configuré pour qu'il utilise la webcam comme caméra frontale et je l'ai lancé. cette erreur:

emulator: ERROR: camera_device_start_capturing: VIDIOC_STREAMON on camera '/dev/video0' has failed: Timer expired
emulator: ERROR: _camera_client_query_start: Cannot start camera '/dev/video0' for NV21[640x480]: Inappropriate ioctl for device

Comment puis-je résoudre ça?

La webcam fonctionne normalement avec un autre logiciel. Le système d'exploitation est Ubuntu 14.04.

33
Alessandro Roaro

Dans Android Studio, accédez au gestionnaire AVD, cliquez sur le bouton Modifier (crayon) dans Actions. Après cela, dans la fenêtre suivante, cliquez sur Paramètres avancés, puis faites défiler et dans les options de l'appareil photo, sélectionnez webcam pour l'avant et l'arrière. 

18
BST Kaal

Pour activer la caméra dans votre émulateur Android, ajoutez simplement le code suivant en surbrillance dans le fichier config.ini de votre AVD. Vous pouvez trouver le fichier config.ini dans votre dossier <userdirectory>/.Android.

Fichier: ~/.Android/config.ini

hw.lcd.density=160<br>
skin.name=HVGA<br>
skin.path=platforms\Android-9\skins\HVGA<br>
hw.cpu.Arch=arm<br>
abi.type=armeabi<br>
vm.heapSize=24<br>
image.sysdir.1=platforms\Android-9\images\<br>
hw.camera=yes<br>
sdcard.size=64M<br>

Si vous ne trouvez pas le fichier config.ini ou si vous souhaitez activer la prise en charge de l'appareil photo via Android SDK et le gestionnaire AVD, procédez comme suit:

Ouvrez le SDK Android et le gestionnaire AVD:

  1. Ajouter une carte SD dans AVD
    Dans le paramètre Carte SD, définissez la valeur pour Taille. Pour activer la caméra, la carte SD doit être activée dans Emulator.
  2. Ajouter la prise en charge de l'appareil photo dans le matériel sous AVD
    Maintenant, dans la section Matériel, cliquez sur le bouton Nouveau pour ajouter du matériel de caméra. Il s'ouvrira après la boîte de dialogue. Sélectionnez Prise en charge de la caméra dans la liste déroulante Propriété, puis cliquez sur OK.
  3. Activer le support de la caméra dans le matériel  
    Le nouveau matériel: Le support de l’appareil photo est visible dans la section Matériel. Définissez sa valeur sur oui et enregistrez les modifications en appuyant sur Edit AVD.
  4. Enregistrez les modifications et lancez l'émulateur.  
12
Mayavi

Vous pouvez essayer de modifier manuellement votre fichier de configuration AVD sous 

~/.Android/avd/yourAvdName/config.ini

en ajoutant cette ligne:

hw.camera=yes

METTRE &AGRAVE; JOUR

Vous pouvez essayer de spécifier la résolution réelle de votre webcam:

hw.camera.maxHorizontalPixels=XXX
hw.camera.maxVerticalPixels=XXX

N'oubliez pas que la valeur par défaut de maxHorizontalPixels est de 640 et de maxVerticalPixels de 480 , cette modification peut donc vous aider à résoudre vos problèmes.

6
bonnyz

J'ai eu un problème similaire avec un message d'erreur légèrement différent sous OS X. Il s'est avéré que tout allait bien, mais l'émulateur se bloque lorsque la caméra prend trop de temps pour s'initialiser.

Dans mon cas, j'ai fini par fermer d'autres applications et cela a fonctionné. Vous voudrez peut-être tester sur un ordinateur plus performant.

1
Erdal G.