iOS 4.3,iPhone 4没有使用UILocalNotification播放自定义声音

时间:2012-01-13 21:40:29

标签: iphone objective-c ios audio uilocalnotification

有一些类似于我的帖子,但我找不到一个与它完全相同的帖子。以下是发生的事情:

在我的应用中,我安排了本地通知:

        UIApplication* app = [UIApplication sharedApplication];

        [app cancelAllLocalNotifications];

        UILocalNotification *localNotif = [[ UILocalNotification alloc ] init];

        NSDate *date = [ [[ NSDate alloc] initWithTimeIntervalSinceNow:30 ] autorelease ];

        if (localNotif == nil) {
            return;
        }

        localNotif.fireDate = date;
        localNotif.alertBody = @"Nearing Return Location!";
        localNotif.alertAction = @"Ok";
        localNotif.soundName = @"2_bubble_wrap.caf";


        [[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
        [localNotif release];

在iOS 5中工作得很好。在iOS 4.3中,我确保在测试之前确保声音打开并且响亮。当然,文件的持续时间不到30秒。当它在iPhone 4上触发时,我没有声音,只有警报框。当我使用默认声音重新测试时,它会通过通知播放。当我用乱码替换.caf文件名时,它也播放了默认声音,所以它知道我的文件就在那里没有播放。当我在iOS 4.3模拟器中运行它时,它会播放我的.caf声音。我失去了它。任何人的想法?

格雷格

-

1 个答案:

答案 0 :(得分:2)

模拟器!=设备,尤其是播放媒体文件时,因为您的Mac支持的编解码器比iPhone更多。检查您的caf文件是否按照iPhone需要的方式编码并纠正编码问题可以解决问题。