2012-08-08 84 views
0

我目前正在Phonegap中開發iPhone/Android應用程序,並希望在播放另一首曲目時錄製音頻。Phonegap同時錄製和播放

現在我知道在Objective-C中,您可以將音頻類別設置爲「AVAudioSessionCategoryPlayAndRecord」,但由於這是Phonegap,而不是普通的本機Objective-C應用程序,我不確定它是否可以工作,把它作爲我認爲它需要在某處的電話核心文件>

有沒有人有任何經驗和/或想法?

+0

可能重複[記錄並在iOS上同時播放(PhoneGap的版本)]( http://stackoverflow.com/questions/23245997/record-and-play-simultaneously-on-ios-phonegap-build) – 2014-08-04 14:23:57

回答

1

如果其他人想知道這個答案,我設法通過重新編譯Cordova/Phonegap(1.7.0但2.0應該類似)來調整這個問題。

調整它我修改CDVSound.m,改變線482

[self.avSession setCategory:AVAudioSessionCategoryPlayAndRecord error:nil]; 

,並重新編譯,然後在我的項目中使用。

+0

關於這方面的任何消息?你有沒有設法用更好的方法解決它(而不是修改phonegap)? – cherouvim 2014-05-28 13:31:35

+0

您始終可以通過從當前子類的子類開始創建自己的插件。 – Rivera 2014-05-29 00:47:34

+0

@cherouvim因爲CDVAudio的avSession屬性是公共的,所以你可以在'application:didFinishLaunchingWithOptions:'中調試'startPlayingAudio:'方法讓應用首先調用原始代碼,然後調用你的'setCategory'。但里維拉的解決方案更清潔恕我直言 – 2014-05-29 21:35:27

1

這可以通過使用自定義目標C插件,用來設置AVAudioSession單一實例的類別AVAudioSessionCategoryPlayAndRecord來解決。

但是,Cordova Media Plugin中存在一個錯誤,它使事情變得複雜,如果您可以先開始錄製,然後開始播放媒體,那麼這些錯誤可以解決。

如果沒有,我已經解決了這一問題,並張貼在這裏的答案,在這裏你可以找到更多的細節:中

Record and play simultaneously on iOS (Phonegap build)