Guardar video en la biblioteca después de capturar video usando phonegap 'captureVideo'

Pude save la foto capturada en la biblioteca o álbum de fotos usando estos códigos:

navigator.device.capture.captureImage(captureSuccess, captureError, {limit:25,destinationType : Camera.DestinationType.FILE_URI,saveToPhotoAlbum:true}); 

Sin embargo, también quiero save el video capturado, pero lo he intentado y no he tenido éxito. Estoy usando este código a continuación:

 navigator.device.capture.captureVideo(captureSuccess, captureError, {limit:1, duration:60,destinationType : Camera.DestinationType.FILE_URI,saveToPhotoAlbum:true }); 

Estoy usando Phonegap 3.0.0 y actualmente me enfoco en la aplicación iOS y la aplicación Android.

Conseguí esto trabajando ahora para iOS y Cordova 2.9. (Prueba en iOS7).

Todo lo que tengo que hacer es:

  • Eliminar comentario de este método (video de process)

    – (CDVPluginResult *) video de process: (NSString *) moviePath para CallbackId: (NSString *) callbackId {// guarda la película en álbum de fotos (solo disponible a partir de iOS 3.1)

     /* don't need, it should automatically get saved*/ NSLog(@"can save %@: %d ?", moviePath, UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(moviePath)); if (&UIVideoAtPathIsCompatibleWithSavedPhotosAlbum != NULL && UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(moviePath) == YES) { NSLog(@"try to save movie"); UISaveVideoAtPathToSavedPhotosAlbum(moviePath, nil, nil, nil); NSLog(@"finished saving movie"); } // create MediaFile object NSDictionary* fileDict = [self getMediaDictionaryFromPath:moviePath ofType:nil]; NSArray* fileArray = [NSArray arrayWithObject:fileDict]; return [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsArray:fileArray]; 

    }

Nota: Dicen que no lo necesitan, debería savese automáticamente. Pero para mi caso, no se salvó.

  • Rebuild la biblioteca de cordova
  • Después de la reconstrucción, si tiene algunos problemas con el linker, elimine la architecture arm64, arm7s de Arquitectura válida de la configuration de construcción de su proyecto.
  • Y luego guardaste tu video.

Recibí una pista de: https://groups.google.com/forum/#!topic/phonegap/hN09oEYF0lk

Cambie esto a

 navigator.device.capture.captureVideo(captureSuccess, captureError, {limit:1, duration:60,destinationType : Camera.DestinationType.FILE_URI,saveToPhotoAlbum:true }); 

a

 navigator.device.capture.captureVideo(captureSuccess, captureError, {limit: 1,duration:60}); 

En segundo lugar, la propiedad de límite no es compatible con IOS. Para más detalles, puede consultar el enlace de la tarjeta telefónica