Phonegap notification.beep忽略静默模式

时间:2013-09-09 21:03:01

标签: cordova notifications silent beep

您好我使用的是cordova 2.7.0,我需要使用notification.beep()方法。但我有一个问题,即使手机处于静音模式,我的应用也会响铃。

有什么建议吗?

我正在使用iphone 5.

1 个答案:

答案 0 :(得分:0)

更新CDVSound.m文件中的代码

注意:(void)setVolume用于phonegap 3.4,我不确定该功能是否也适用于其他旧版本..但类似的功能必须在那里设置音量。

在功能setVolume中添加以下2行代码,这将设置与设备上设置的声音相同的声音音量。

float mVolume=[self getVolumeLevel];
volume = [NSNumber numberWithFloat: mVolume];

完整代码如下

- (void)setVolume:(CDVInvokedUrlCommand*)command
{

    NSString* callbackId = command.callbackId;

    NSString* mediaId = [command.arguments objectAtIndex:0];
    NSNumber* volume = [command.arguments objectAtIndex:1 withDefault:[NSNumber numberWithFloat:1.0]];


    //This will set volume of the sound same as sound set on device.
    float mVolume=[self getVolumeLevel];
    volume = [NSNumber numberWithFloat: mVolume];



    if ([self soundCache] != nil) {
        CDVAudioFile* audioFile = [[self soundCache] objectForKey:mediaId];
        if (audioFile != nil) {
            audioFile.volume = volume;
        if (audioFile.player) {
            audioFile.player.volume = [volume floatValue];
        }
        [[self soundCache] setObject:audioFile forKey:mediaId];
    }
}

}