J'essaie d'afficher une aperçu de la caméra filtrée, à l'aide de Callback OnPreviewFrame (). P>
Le problème est que lorsque je supprimai cette ligne: mholder.settype (superflumed.surface_type_push_buffers); p>
Pour masquer l'aperçu, l'application se bloque. Le journal lit: 08-19 15: 57: 51.042: Erreur / Cameraservice (59): Enregistrer des embaucheurs a échoué avec le statut -38 P>
Qu'est-ce que cela signifie? Est-ce documenté partout? P>
J'utilise le cameraPreview de l'APIDEMOS SDK: http://developer.android.com/resources/samples/apidemos/src/com/example/android/apis/graphics/camerapreview.html p>
3 Réponses :
Qu'est-ce que cela signifie? P> blockQuote>
Cela signifie que vous n'avez pas correctement configuré le
superficiel code> via la surface
code>. p>
est-ce documenté n'importe où? P> blockQuote>
Qu'est-ce que "ça"? Voici la documentation de
superviseur code>
, < Un href = "http://developer.androïd.com/reference/andrroid/view/surfaceholder.html" rel = "NOREFERRER">SurfaceLolder code> ,
super_type_push_buffers code>
etCaméra code>
. P>Si votre vraie question est "où est-il documenté que
caméra code> nécessite
superforace_type_push_buffers code>", je suppose que cela est sans papiers. Vous utilisez
surface_type_push_buffers code> pour l'aperçu de la caméra et la lecture vidéo, ainsi que d'autres situations aussi. P>
Merci de l'attention, j'ai essayé d'utiliser un autre type de surface pour masquer la vue car je ne veux pas afficher l'aperçu de la caméra brute, mais mon propre flux traité, un peu comme cette application androidtapp.com/camera-illusion . Donc, je ne sais pas si je dois utiliser surface_type_push_buffers, comme mentionné dans ce fil: groups.google.com/group/android-developers/msg/5eee6acae3f7 c1f Si vous connaissez d'autres ressources (applications open source, livres, etc.) pouvant être utiles pour cette intention, partagez-la.
surface_type_push_buffers génère plusieurs tampons pour la vue superficielle. Les composants sont verrouillés (remplissez de données) et appuyez sur (Données d'affichage) ces tampons au fond du code OS. Surtout OpenMax (interface de périphérique Matériel de la caméra) utilise des "tampons graphiques" = "tampons poussoirs" pour remplir des données et afficher les données. Pour être spécifique, le matériel de la caméra peut remplir directement un tampon de poussée et le matériel graphique peut afficher directement un tampon de poussée (ils partagent ces tampons). Conclusion: le système d'exploitation vous oblige à créer une vision de surface avec des tampons poussés. Ensuite, il peut utiliser les tampons pour le périphérique de la caméra. p>
dans Guide de la caméra de Google Vous pouvez trouver une brève mention de cette . Selon le guide Regardez dans l'exemple de code dans la section "Création d'une classe d'aperçu" au bas du constructeur, il est indiqué: P> surface_type_push_buffers code> est un paramètre obsolète nécessaire aux périphériques pré-3.0.
// deprecated setting, but required on Android versions prior to 3.0
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);