有类似于我的帖子,但我还没有找到完全像它的帖子。这是发生了什么:

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

        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声音。我正在失去它。有任何想法吗?

格雷格

--

最佳答案

Simulator!=设备,尤其是在播放媒体文件时,因为Mac比iPhone支持更多的编解码器。检查您的caf文件是否已按照iPhone所需的方式进行编码,并纠正编码方面的任何问题都可以解决此问题。

10-08 07:44