我在应用程序包中有一个声音文件,我想在用户获得推送通知时播放该声音文件。
是否可以在iOS中使用,那么请建议实现此目的的方法。
谢谢,
答案 0 :(得分:18)
要播放此声音,您必须在通知有效负载中指定声音的文件名。例如,假设您已将名为example.caf的声音文件添加到应用程序中,我们可以使用通知有效负载播放此声音,如下所示:
{
aps =
{
alert = "test example notification message";
sound = "example.caf";
};
}
然后,当您的通知到达时,将播放自定义声音。
答案 1 :(得分:7)
在app delegte类中使用此方法。
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
UIApplicationState state = [application applicationState];
if (state == UIApplicationStateActive)
{
NSLog(@"User Info : %@", [userInfo description]);
NSLog(@"User Info Alert Message : %@", [[userInfo objectForKey:@"aps"] objectForKey:@"alert"]);
NSString *messageString = [NSString stringWithFormat:@"%@", [[userInfo objectForKey:@"aps"] objectForKey:@"alert"]];
NSString *playSoundOnAlert = [NSString stringWithFormat:@"%@", [[userInfo objectForKey:@"aps"] objectForKey:@"sound"]];
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/%@",[[NSBundle mainBundle] resourcePath],playSoundOnAlert]];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
audioPlayer.numberOfLoops = 0;
[audioPlayer play];
}
}