Ios Cordova插件和依赖项

Ios Cordova插件和依赖项,ios,cordova,audio,mobile,plugins,Ios,Cordova,Audio,Mobile,Plugins,我想为iOS创建一个Cordova插件,它使用其他预制作的Cordova插件并对其进行修改 例如,我想创建一个插件,上传mp3类型的音频文件,现在我想使用“媒体”插件录制、停止录制、播放、停止播放音频文件,该插件提供了这些基本功能,但使用不同的文件格式(默认媒体插件使用Wav格式,我想使用mp3),而无需修改“媒体”插件本身 有没有办法做到这一点 感谢您的帮助。实现这一点的方法是继承(从本机代码而不是js) 创建自己的自定义插件(与带有plugin.xml文件、WWW文件夹、Src等的普通Cor

我想为iOS创建一个Cordova插件,它使用其他预制作的Cordova插件并对其进行修改

例如,我想创建一个插件,上传mp3类型的音频文件,现在我想使用“媒体”插件录制、停止录制、播放、停止播放音频文件,该插件提供了这些基本功能,但使用不同的文件格式(默认媒体插件使用Wav格式,我想使用mp3),而无需修改“媒体”插件本身

有没有办法做到这一点


感谢您的帮助。

实现这一点的方法是继承(从本机代码而不是js)

创建自己的自定义插件(与带有plugin.xml文件、WWW文件夹、Src等的普通Cordova插件的文件结构相同)

在plugin.xml文件中,将媒体插件声明为一个依赖项,当您安装自定义插件时,它将被动态带到您的项目中(请注意,根据您机器上的Cordova版本,“媒体”插件本机代码可能会有一些差异)


当您创建自己的类名为CDVYourClass并使其成为CDVSound的子类时,“Media”插件类(IOS)称为“CDVSound”

从这里,您可以覆盖要更改的方法(例如,如果要录制.m4文件,而不是媒体插件的默认.WAV文件)

有关构建Cordova插件的更多信息,请参阅Cordova文档

下面是一篇关于自定义插件的好文章

除此之外,还有一些“Private”方法最初无法重写以克服此问题。请使用Objective C categories扩展父类(本例中为CDVSound),然后在category.m文件中声明它。之后,您可以将category类导入父类并重写Private方法

<dependency id="org.apache.cordova.media"/>