我使用了本页中的apple示例中的代码:Link,但我似乎无法重复声音。我已经检查了其他应用程序,例如Skype(用于VOIP)和闹钟专业版(音频?)但我无法重复声音文件。
这是我的代码:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
AlarmHandler *AHinstance = getAlarmHandlerInstance();
UIApplication* app = [UIApplication sharedApplication];
NSArray *alarmList = [AHinstance getAlarms];
NSArray *oldNotifications = [app scheduledLocalNotifications];
if ([oldNotifications count] > 0)
{
[app cancelAllLocalNotifications];
}
for (Alarm *theAlarm in alarmList) {
NSDate *alarmDate = [theAlarm getNearestActivationDate];
Package *alarmPackage = [theAlarm getAlarmPackage];
NSArray *fileList = [alarmPackage getVoiceFileListForBackgroundNotificationWithHour:theAlarm.larmHour];
if( alarmDate == nil ) continue;
UILocalNotification* alarm = [[[UILocalNotification alloc] init] autorelease];
if (alarm)
{
NSLog(@"File: %@", [fileList objectAtIndex:0]);
alarm.fireDate = alarmDate;
alarm.timeZone = [NSTimeZone defaultTimeZone];
alarm.soundName = [fileList objectAtIndex:0];
alarm.alertBody = @"Time to wake up!";
alarm.repeatInterval = 0;
[app scheduleLocalNotification:alarm];
}
}
}
有关如何解决此问题的任何建议?
我有建议将应用程序注册为音频播放器并在后台播放声音,但似乎苹果确实对这些应用程序表示友好,因为它们不是真正的音频播放器。因此他们否认这些应用程序。
的问候,
保罗佩伦
答案 0 :(得分:4)
本地通知无法执行此操作。您可以注册为VOIP应用程序,也可以注册为具有单独API的“背景音频”应用程序。但是,如果您没有提供适当的功能来获得这些用途的资格,那么您很可能会被拒绝。
答案 1 :(得分:0)