Captura de video ignorando el dilema EXTRA_OUTPUT

Estoy teniendo un cerdo de un tiempo que crea una característica básica de la captura video en mi uso. Quiero llamar a la herramienta de captura de vídeo por defecto de mi dispositivo y tenía el archivo guardado en una ubicación específica.

De la documentación esto se logra proporcionando un Uri en EXTRA_OUTPUT, sin embargo lo que está ocurriendo es que se está ignorando completamente y el video se está escribiendo en realidad a la ubicación del almacén de medios habitual.

Mi código es muy simple:

Intent i = new Intent( android.provider.MediaStore.ACTION_VIDEO_CAPTURE ); String SD_CARD_TEMP = Environment.getExternalStorageDirectory() + File.separator + MEDIA_TEMP ; i.putExtra( android.provider.MediaStore.EXTRA_OUTPUT, Uri.parse(SD_CARD_TEMP) ); startActivityForResult( i, ACTIVITY_CAPTURE_VIDEO ); 

La constante MEDIA_TEMP se establece en 'media_temp'. También he intentado usar un archivo en lugar de una cadena y usar Uri.fromFile () pero eso no hizo ninguna diferencia.

Si alguien tiene alguna idea de por qué este código no se está comportando como los docs dicen que debería .. por favor dígame 🙂

PD. El desarrollo se lleva a cabo en vivo en HTC Desire HD, no emulador ..

Gracias,

Dave

Tengo el mismo problema. Funciona en Android de stock, pero no funciona en dispositivos HTC o SonyEricsson.

Parece como si su cam-app se comporta de forma diferente a la predeterminada.

Creo que la única posibilidad sería pedirle al proveedor de medios el último video grabado y obtener el camino de él. A continuación, copie el archivo en su propio directorio y elimínelo del proveedor de medios.

No es muy inteligente y propenso a errores, pero quizás la única manera.

¿Alguien tiene una idea mejor?

Después de pasar 13 horas tratando de averiguar qué estaba pasando con esta cámara API …

Yo estaba usando la intención de la cámara y EXTRA_OUTPUT para especificar dónde guardar el archivo, y se estaba ignorando!

Esta aplicación funcionó unas semanas antes, y no había actualizaciones de SO había ocurrido en ese momento ..

Puedo haber descubierto la fuente del problema:

Si hay alguna aplicación instalada en el teléfono que interactúa con, o interceptar la API de la cámara, algunos de los API puede romper!

Descubrí esto después de un maratón de depuración de 13 horas, probando todas las posibles combinaciones de API y siguiendo todas las sugerencias de stackoverflow.

Mis manos se estaban cansando sosteniendo el teléfono, así que construí un soporte telefónico fuera de un colgador para anclar el teléfono a mi escritorio, con la cámara apuntando a un tarro de mantequilla de maní.

En un golpe de suerte, cuando estaba depurando con mis fotos de mantequilla de maní, la Google Goggles App apareció una notificación diciendo que había "reconocido" algo en mi imagen!

Esto me incitó a desinstalar IMMEDIATAMENTE goggles de google, y de repente, las imágenes empiezan a guardar a mi Uri personalizado como solían !!!

Esto fue en un Samsung Stratosphere.

Estoy haciendo algo similar en el nexo uno y funciona, pero el mismo código no funciona en el aria htc. Por lo que es probablemente algo que ver con las actividades que realmente se ejecutan en los diferentes dispositivos y si respetan ese parámetro o no.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.