Phonegap录音和播放同时进行
Posted
技术标签:
【中文标题】Phonegap录音和播放同时进行【英文标题】:Phonegap record and playback simultaneously 【发布时间】:2012-08-08 08:39:29 【问题描述】:我目前正在 Phonegap 中开发 iPhone/android 应用程序,并希望在播放另一首曲目时录制音频。
现在我知道在 Objective-C 中您可以将音频类别设置为“AVAudiosessionCategoryPlayAndRecord”,但由于这是 Phonegap 而不是普通的原生 Objective-C 应用程序,我不确定它是否可以工作,甚至在哪里可以工作把它放在我认为它需要在 phonegap 核心文件中的某个地方>
有没有人有任何经验和/或想法?
【问题讨论】:
Record and play simultaneously on iOS (Phonegap build)的可能重复 【参考方案1】:如果其他人想知道这个问题的答案,我设法通过调整重新编译 Cordova/Phonegap(1.7.0 但 2.0 应该类似)来解决这个问题。
为了调整它,我修改了 CDVSound.m,将第 482 行更改为
[self.avSession setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
并重新编译,然后在我的项目中使用。
【讨论】:
有这方面的消息吗?您是否设法用更好的方法(而不是修改 phonegap)来解决它? 您始终可以从当前插件的子类开始制作自己的插件。 @cherouvim 由于 CDVAudio 的 avSession 属性是公开的,您可以在application:didFinishLaunchingWithOptions:
中调配方法 startPlayingAudio:
,使应用首先调用原始代码,然后调用您的 setCategory
。但是里维拉的解决方案更清洁恕我直言【参考方案2】:
这可以通过使用自定义的 Objective C 插件来解决,该插件将 AVAudioSession 单例实例的类别设置为 AVAudioSessionCategoryPlayAndRecord。
但是,Cordova 媒体插件中存在一个使事情复杂化的错误,如果您可以接受先开始录制,然后开始播放媒体,则可以解决此问题。
如果没有,我已经解决了这个问题,并在此处发布了答案,您可以在此处找到更多详细信息:
Record and play simultaneously on iOS (Phonegap build)
【讨论】:
以上是关于Phonegap录音和播放同时进行的主要内容,如果未能解决你的问题,请参考以下文章
当 iTunes 从网络链接启动时,Phonegap 媒体对象停止播放
PhoneGap/Cordova iOS 播放声音禁用麦克风