【问题标题】:How to control/force iOS system volume [cordova]如何控制/强制 iOS 系统音量 [cordova]
【发布时间】:2026-02-01 14:05:03
【问题描述】:

我们正在为海洋行业开发一款混合移动应用程序。 该应用程序用于在有人落水时发出警报。

为了确保听到警报,无论用户设置如何,我们都需要将音量强制为 100%。这实际上是生死攸关的问题。 在开发过程中,我们使用了这个出色的插件:https://github.com/mgcrea/cordova-plugin-volume-control

不幸的是,我们甚至无法使用该插件通过 Testflight 获取应用程序。

所以我的问题是堆栈溢出:有没有办法强制系统音量,而不管 Cordova 应用程序中的设置如何? (我们使用离子)

提前致谢!

【问题讨论】:

    标签: ios cordova volume


    【解决方案1】:

    看看 MPVolumeView 这是我们使用的方法。

    + (void) setSystemVolume:(float)volume {
    
        MPVolumeView* volumeView = [[[MPVolumeView alloc] init] autorelease];
        UISlider* volumeViewSlider = nil;
        for (UIView *view in [volumeView subviews]){
            if ([view.class.description isEqualToString:@"MPVolumeSlider"]){
                volumeViewSlider = (UISlider*)view;
                break;
            }
        }
        [volumeViewSlider setValue:volume animated:YES];
        [volumeViewSlider sendActionsForControlEvents:UIControlEventTouchUpInside];
    }
    

    【讨论】:

    • He Paul,感谢您的参与。您的意思是我应该将以上内容制作成 Cordova 插件?
    • @JasonSchot,您找到解决方案了吗?