首先我們要集成極光的SDK;
下一步就要修改提示音的格式為.caf,比如default.caf然后導入工程中,并且在如圖文件加入
后臺推送的消息體里面一定要設置sound的value為default.caf,也就是和你拖入工程中的文件名一致
以下代碼一定要放入接收推送的方法中
#pragma mark - ios6以下接收推送消息
- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo {
[JPUSHService handleRemoteNotification:userInfo];
NSLog(@"iOS6及以下系統,收到通知:%@", [selflogDic:userInfo]);
}
#pragma mark - ios7以上接收推送消息
- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo fetchCompletionHandler:(void(^)(UIBackgroundFetchResult))completionHandler {
NSString*sound = [[userInfoobjectForKey:@"aps"]objectForKey:@"sound"];//播放的聲音
[self loadMusic:sound];
}
#pragma mark -播放音樂
//初始化音樂播放器
- (void)loadMusic:(NSString*)strMusic
{
? ? ? ? ?drewSound= [selfloadSound:strMusic];
? ? ? ? ?AudioServicesPlaySystemSound(drewSound);
}
//加載音效
- (SystemSoundID)loadSound:(NSString*)soundFileName
{
//// 1.需要指定聲音的文件路徑,這個方法需要加載不同的音效
NSString*path = [[NSBundle mainBundle]pathForResource:soundFileName ofType:nil];
// 2.將路徑字符串轉換成url
NSURL*url = [NSURLfileURLWithPath:path];
// 3.初始化音效
// 3.1 url => CFURLRef
// 3.2 SystemSoundID
SystemSoundIDsoundId;
// url先寫個錯的,然后讓xcode幫我們智能修訂,這里的方法不要硬記!
AudioServicesCreateSystemSoundID((__bridgeCFURLRef)(url), &soundId);
//AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
returnsoundId;
}
這樣你就可以試試了!