Ampliación de plugins cordova existentes / módulos phonegap

He pasado mucho tiempo tratando de extender un plugin cordova existente, pero no lo logré hasta ahora y necesito su guía:

Quiero usar phonegap (cordova 2.1) para grabar audio en android y ios. La configuración predeterminada funciona, pero debo configurar los ajustes de grabación en mi aplicación. El usuario debe ser capaz de seleccionar BitEncodingRate, SamplingRate, etc.

Estos ajustes están actualmente codificados en el complemento Cordova Media Plugin. (para ser exactos – en la clase AudioPlayer para android). Me gustaría reutilizar lo más posible de las funciones que ya están allí y simplemente agregar la función.

Media.startRecordWithSettings(settings) 

Pero no está claro para mí cómo abordar este problema.

¿No es posible extender el plugin cordova Media de esta manera:

 Media.prototype.startRecordWithSettings = function() { exec(null, this.errorCallback, "MyMedia", "startRecordWithSettings", [this.id, this.src]); }; 

Porque no quiero manipular el archivo cordova.js, que implementa el complemento de medios como JS-module. Mi idea actual es duplicar todo el código que se necesita para el plugin de plugin de phonegap. (Yo duplicaría la parte de cordova.js que define el objeto Media, agrega las líneas anteriores y también duplicar las clases Java que se necesitan en OS-Side y las envuelve en un Plugin que se ve igual que el complemento cordova existente, pero con ajustes de grabación).

Como puedes ver, estoy desesperado. En lugar de ampliar un módulo y agregar la función personalizada que necesito y reutilizar el código de salida, estoy a punto de duplicar todo.

Ok También podría editar las clases cordova.js y Cordova Java para adaptarme a mis necesidades, pero entonces nunca podría actualizar a la versión cordova más reciente, porque sobrescribiría mis "arreglos".

¿Es posible extender plugins cordova en absoluto? ¿O debo reescribirlas, si no se ajustan a mis necesidades?

He encontrado este complemento para iOS, pero parece que ha cambiado mucho desde que este plugin fue implementado, porque si escribo algo como esto en mi parte de JavaScript personalizada:

  Media.prototype.startRecordWithSettings = function() { ... } 

Los registros dicen: "Unrected ReferenceError: Media no está definido en …"

Soy nuevo en el patrón de módulo de JavaScript y no entiendo cómo podría extender un módulo de JS-phonegap.

Por favor, ayúdame.

  • Pasar y devolver los valores de javascript y android y utilizarlos como plugin de brecha de teléfono
  • ¿Cuál es la diferencia entre un plugin PhoneGap y addJavascriptInterface?
  • PhoneGap: Cómo hacer que los enlaces de iframes se abran en InAppBrowser
  • Agregar complementos de Cordova / Phonegap detrás de un proxy
  • Phonegap: cómo comprobar si el gps está habilitado
  • Salir de la aplicación cuando haga clic en el botón de androide teléfono?
  • Cordova_plugins.js no se actualiza después de agregar un nuevo complemento
  • Extracción de mensajes de WhatsApp desde una aplicación Phonegap
  • Andorid cordova phonegap config.xml prefijo sin conexión
  • Cordova error (ERROR construyendo una de las plataformas)
  • Cookie no está siendo fijado con phonegap filetransfer upload Response
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.