本地通知声音没有播放?
Posted
技术标签:
【中文标题】本地通知声音没有播放?【英文标题】:Local Notification sound not playing? 【发布时间】:2014-03-17 03:16:26 【问题描述】:我在本地通知方面遇到了这个问题,它们没有播放声音。我用默认的和自定义的进行了测试,这显然是我想玩但没有的!我看了很多人都面临这个问题,但他们的解决方案都不适合我。
UILocalNotification *local
- (IBAction)Dateaction:(id)sender
local = [[UILocalNotification alloc]init];
local.timeZone = [NSTimeZone defaultTimeZone];
local.alertBody = [NSString stringWithFormat:@"%@ Recuerda que tienes que: %@", [[NSUserDefaults standardUserDefaults] objectForKey:@"user"], [[NSUserDefaults standardUserDefaults] objectForKey:@"selected"]];
local.fireDate = [self.DatePicker date];
/* if ([[self.userdefaults objectForKey:@"sound"]isEqualToString:@"sound1"])
local.soundName = @"sound1.caf";
else if([[self.userdefaults objectForKey:@"sound"]isEqualToString:@"sound2"])
local.soundName = @"sound2.caf";
else if([[self.userdefaults objectForKey:@"sound"]isEqualToString:@"sound1"])
local.soundName = @"sound3.caf";
else
local.soundName = @"sound1.caf";
*/
local.soundName = UILocalNotificationDefaultSoundName;
- (IBAction)switchChanged:(id)sender
if(self.NotSwith.isOn == YES)
[[UIApplication sharedApplication] scheduleLocalNotification:local];
【问题讨论】:
您忘记了第一行代码中的;
。应该是 UILocalNotification *local;
而不是 UILocalNotification *local
对不起,我发帖的时候说的,显然在我的项目中它很好,否则它甚至不会运行,问题是当通知显示在设备中时没有声音。
您的应用在发送通知时处于什么状态?请记住,如果应用程序不在最前面且不可见,则系统会显示警报消息,标记应用程序,并播放通知中指定的声音。如果系统传递通知时应用程序处于最前面且可见,则不会显示警报,不会标记图标,也不会播放声音。
在激活开关时安排通知,处于活动状态...
【参考方案1】:
可能是一个相对简单的解决方案:你能测试它是否在模拟器中工作吗?如果它在模拟器中而不是在设备中工作,我建议确保静音开关没有打开(昨天花了 4 个小时解决这个问题)。
【讨论】:
嗯,不,它也不能在模拟器中工作,在设备中我得到两次静音已经关闭......我对此感到疯狂!哈哈【参考方案2】:嗯, 有趣的是,我改变了顺序
notification.SoundName = UILocalNotification.DefaultSoundName;
notification.ApplicationIconBadgeNumber = 1;
到
notification.ApplicationIconBadgeNumber = 1;
notification.SoundName = UILocalNotification.DefaultSoundName;
现在可以使用了。当应用在后台运行时,会触发本地通知并播放默认通知声音。
【讨论】:
【参考方案3】:确保您正在清理旧通知
UIApplication* app = [UIApplication sharedApplication];
NSArray* oldNotifications = [app scheduledLocalNotifications];
// 在安排新通知之前清除旧通知。
[app cancelAllLocalNotifications];
如果您不想取消所有通知,请尝试更改徽章编号和声音名称的顺序。
希望这能解决您的问题。
【讨论】:
【参考方案4】:在我的情况下,模拟器工作正常。 iPad将播放音乐等。 问题是: 在 iPad 上的音量控制旁边,铃声开关处于关闭状态。 这阻止了警报声音通过。
【讨论】:
以上是关于本地通知声音没有播放?的主要内容,如果未能解决你的问题,请参考以下文章