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.

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