ios cordova html5,ios – 如何在Cordova的HTML5视频播放过程中忽略铃声设置

我希望Cordova中的

HTML5视频播放能够在振铃开关设置为“静音”时播放声音,就像Safari中的默认行为一样.我设法通过摆弄Cordova默认视图控制器来获得我想要的行为,但我宁愿不修改Cordova的默认控制器(部分因为它看起来不对,但主要是因为我们希望能够重新构建我们的Cordova应用程序,而无需担心修改库文件.)

所以我的主要问题是我不太确定如何继续向Cordova的控制器初始化添加一些代码.我不确定有几件事:

1)我错过了一个明显的设置让科尔多瓦为我做这件事吗?我看到Media插件做了类似的事情,但找不到类似于视频的东西.

2)我的临时解决方法/概念证明涉及修改Cordova控制器的“viewDidLoad”处理程序上的AudioSession类别.我在正确的位置修改控制器代码吗?这样做会破坏已经存在的会话吗?

2)如果从Obj-C / ios应用程序初始化的角度来看我的当前代码是正常的,我如何将它与Cordova集成,以便我们可以使用它构建一个新的Cordova项目(因为这是我们构建过程的一部分)?如果我将代码包装到插件中,“pluginInitialize”是否适合执行它?

我没有太多的Objective-C / iOS本机体验,所以如果这主要是知道正确的事情来搜索/或理解应用程序初始化答案,那么这个效果也将受到赞赏!

编辑:正在使用的Cordova版本是3.5.0-0.2.7

目前的代码

这是我卡在Cordova视图控制器中的代码:

我假设Cordova的WebView使用Apple默认音频设置(apple docs)进行视频播放:

AVAudioSessionCategoryAmbient

The category for an app in which sound playback is nonprimary—that is, your app can be used successfully with the sound turned off.

我假设我想使用AVAudioSessionCategoryPlayback设置.

我编辑了主要的Cordova视图控制器:

‘[project/ios-build]/CordovaLib/Classes/CDVViewController.m’

将此片段从another answer放入“viewDidLoad”处理程序:

AVAudioSession *audioSession = [AVAudioSession sharedInstance];

BOOL ok;

NSError *setCategoryError = nil;

ok = [audioSession setCategory:AVAudioSessionCategoryPlayback

error:&setCategoryError];

if (!ok) {

NSLog(@"%s setCategoryError=%@", __PRETTY_FUNCTION__, setCategoryError);

}

然后,我们的视频播放音频时铃声成功静音,但是,如上所述,我想了解如何将此代码与Cordova集成,而不是就地编辑.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值