我目前正在 Phonegap 中开发 iPhone/Android 应用程序,并希望在播放另一首曲目时录制音频。
现在我知道在 Objective-C 中,您可以将音频类别设置为“AVAudioSessionCategoryPlayAndRecord”,但由于这是 Phonegap 而不是普通的原生 Objective-C 应用程序,我不确定它是否可以工作,甚至不确定将它放在哪里我认为它需要在某处的phonegap核心文件中>
有没有人有任何经验和/或想法?
我目前正在 Phonegap 中开发 iPhone/Android 应用程序,并希望在播放另一首曲目时录制音频。
现在我知道在 Objective-C 中,您可以将音频类别设置为“AVAudioSessionCategoryPlayAndRecord”,但由于这是 Phonegap 而不是普通的原生 Objective-C 应用程序,我不确定它是否可以工作,甚至不确定将它放在哪里我认为它需要在某处的phonegap核心文件中>
有没有人有任何经验和/或想法?
这可以通过使用自定义的 Objective C 插件来解决,该插件将 AVAudioSession 单例实例的类别设置为AVAudioSessionCategoryPlayAndRecord。
但是,Cordova Media Plugin 中存在一个使事情复杂化的错误,如果您可以先开始录制,然后开始播放媒体,则可以解决此问题。
如果没有,我已经解决了这个问题,并在此处发布了答案,您可以在其中找到更多详细信息:
如果其他人想知道这个问题的答案,我设法通过调整重新编译 Cordova/Phonegap(1.7.0 但 2.0 应该类似)来解决这个问题。
为了调整它,我修改了 CDVSound.m,将第 482 行更改为
[self.avSession setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
并重新编译然后在我的项目中使用。