1

我为本地通知提供了自定义声音,但它不起作用。

notif.soundName = @"sound.caf";

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

4

4 回答 4

2

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

于 2013-02-12T06:10:23.583 回答
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";
于 2012-09-06T05:14:41.540 回答
0

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

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

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

notification.soundName = @"sound.caf";

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

于 2012-09-06T05:21:03.627 回答
0

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

例如:

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

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

就是这样,希望回答。

于 2012-09-18T18:38:25.703 回答