【问题标题】:Phonegap record and playback simultaneouslyPhonegap录音和播放同时进行
【发布时间】:2012-08-08 08:39:29
【问题描述】:

我目前正在 Phonegap 中开发 iPhone/Android 应用程序,并希望在播放另一首曲目时录制音频。

现在我知道在 Objective-C 中您可以将音频类别设置为“AVAudioSessionCategoryPlayAndRecord”,但由于这是 Phonegap 而不是普通的原生 Objective-C 应用程序,我不确定它是否可以工作,甚至在哪里可以工作把它放在我认为它需要在 phonegap 核心文件中的某个地方>

有没有人有任何经验和/或想法?

【问题讨论】:

标签: objective-c ios audio cordova


【解决方案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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-12
    • 2012-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多