从主捆绑设置本地通知声音

时间:2012-09-06 05:12:53

标签: iphone objective-c

我为本地通知提供自定义声音,但它无效。

notif.soundName = @"sound.caf";

它播放默认声音为什么? 感谢。

4 个答案:

答案 0 :(得分:2)

也许你没有在Xcode项目中添加声音文件(* .caf):Build Phases / Copy Bundle Resources。

答案 1 :(得分:1)

我已成功通知以下代码。

UILocalNotification *localNotif = [[UILocalNotification alloc] init];
            if (localNotif == nil)
                return;
            /*  NSDateFormatter *formatDate=[[NSDateFormatter alloc]init];
             [formatDate setDateFormat:@"MM/dd/yyyy"];
             [formatDate setTimeZone:[NSTimeZone systemTimeZone]];
             NSDate *strDate=[formatDate dateFromString:txtDate.text];
             */
            localNotif.fireDate = itemDate;
            //localNotif.timeZone = [NSTimeZone systemTimeZone];

            NSLog(@"the item date is %@",localNotif.fireDate);

            // Notification details
            //localNotif.alertBody = [eventText text];]
            localNotif.alertBody=strEvent;
            // Set the action button
            localNotif.alertAction = @"View";


            //localNotif.soundName = @"Acoustic Noodling 01.caf";
            localNotif.soundName=@"alarm1.aif";

答案 2 :(得分:0)

关于在本地通知中播放自定义声音

确保声音实际上在您的应用包中,格式正确(线性PCM或IMA4

假设通知是UILocalNotification类型的对象。

notification.soundName = @“sound.caf”;

如果这在最初不起作用,那么你可以参考这篇文章,参考This Answer这告诉我们使用正确格式的声音文件(即线性PCM或IMA4)。

答案 3 :(得分:0)

只需使用文件的相对路径,而不是提供绝对路径或完整路径。

例如:

localNotification.soundName = @"../Documents/recordedFileName.caf";

另外,请记住,文件的recordDuration应小于或等于29秒。

就是这样,希望得到回答。