Cordova 媒体插件打破了 iOS 上的 HTML5 音频标签

Sn0*_*00p 3 media audio ios cordova ionic

我正在开发一个离子应用程序,现在面临一个奇怪的问题。

在视图中,我可以录制音频。在同一个视图中,我有许多 HTML5 音频标签。

音频标签运行良好,直到我启动记录。执行 startRecord 后,我无法再播放 HTML5 音频。播放按钮没有任何作用。录制的音频录制良好并重新启动我的应用程序,我可以播放它,至于页面上的其他音频。

我在安卓上没有这个问题。

我认为我做的每一件事都很好(我已经读过在 iOS 上你必须使用 HTML5 APi 在文件系统上创建文件,我所做的没有成功),我在录制后释放媒体(但问题发生在停止记录)。

有人遇到过这个问题吗?任何线索?

Cordova:5.1.1 插件媒体:1.0.2 iOS:8.3

问候,

Sn0*_*00p 5

回来解决。

在文件cordova-plugin-media/blob/master/src/ios/CDVSound.m 中,应用以下补丁:

// get the audioSession and set the category to allow recording when device is locked or ring/silent switch engaged
         if ([self hasAudioSession]) {
             if (![self.avSession.category isEqualToString:AVAudioSessionCategoryPlayAndRecord]) {
             -                    [self.avSession setCategory:AVAudioSessionCategoryRecord error:nil];
             +                    [self.avSession setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionMixWithOthers error:nil];
             }

             if (![self.avSession setActive:YES error:&error]) {
Run Code Online (Sandbox Code Playgroud)

基本上,在更改我们的 AvAudioSession 类别时,我们必须将其放在“播放和录制”类别中,而不仅仅是“录制”并添加选项“与其他音频会话混合”。

希望这会有所帮助;)