iOS在播放应用程序时收到推送通知时播放声音

如何在前台应用程序接收推送通知时播放声音。

我的代码:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { if (application.applicationState == UIApplicationStateActive) { //create an audio player and play the sound NSString *path = [[NSBundle mainBundle] pathForResource:@"whistle" ofType:@"caf"]; NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: path]; AVAudioPlayer *theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:NULL]; theAudio.volume = 1.0; [theAudio prepareToPlay]; [theAudio play]; } NSLog(@"didReceiveRemoteNotification %@",userInfo); } 

对AVPLayer进行AVPLayer ,您应该尝试使用以下代码:

添加以下框架

 #include <AudioToolbox/AudioToolbox.h> 

并使用此代码,

  SystemSoundID soundID; CFBundleRef mainBundle = CFBundleGetMainBundle(); CFURLRef ref = CFBundleCopyResourceURL(mainBundle, (CFStringRef)@"mySoundName.wav", NULL, NULL); AudioServicesCreateSystemSoundID(ref, &soundID); AudioServicesPlaySystemSound(soundID);