【问题标题】:UILocalNotification custom sound is not playing in iOS7UILocalNotification 自定义声音在 iOS7 中没有播放
【发布时间】:2013-10-20 06:43:06
【问题描述】:

我在应用程序中使用UILocalNotification

在应用程序中有两个有条件播放的声音——我已经为它们应用了适当的条件。

但是当我安装应用程序并在iOS 7 设备上运行它时,它会触发本地通知,但应用程序中没有播放声音。

下面给出了设置通知的代码:

    UILocalNotification *localNotification = [[UILocalNotification alloc] init];
    if (localNotification == nil)
        return;
    localNotification.fireDate = [pickerView date];

    localNotification.timeZone = [NSTimeZone defaultTimeZone];

    if (alarm_number == 1) {
        localNotification.alertBody = [NSString stringWithFormat:@"First Alarm"];
    }
    else
    {
        localNotification.alertBody = [NSString stringWithFormat:@"Second Alarm"];
    }

    localNotification.alertAction =@"Ok";

    NSString *message = [[NSString alloc]initWithString:@""];

    if(alarm_number == 1)
    {
        localNotification.soundName=@"Alarm_1.mp3";
        message = @"First Alarm Scheduled";
    }
    else
    {
        localNotification.soundName=@"Alarm_2.mp3";
        message = @"Second Alarm Scheduled";
    }

    localNotification.applicationIconBadgeNumber = 1;

    // Specify custom data for the notification
    NSString *alarmString;
    if (alarm_number==1) {
        alarmString = [NSString stringWithFormat:@"First Alarm"];
    }
    else
    {
        alarmString = [NSString stringWithFormat:@"Second Alarm"];
    }

    NSDictionary *infoDict = [NSDictionary dictionaryWithObject:alarmString forKey:@"AlarmFor"];

    localNotification.userInfo = infoDict;

    // Schedule the notification
    [[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
    [localNotification release];

我检查的是我的应用程序设置/通知中心应用程序中的声音设置。

请浏览第 1 至第 3 张图片以查看我检查过的内容。

(1) 通知中心

(2) 应用

(3) 此处关闭声音

因此,为了启用此功能,我在应用程序目标的 Capabilities 中检查了 Inter App Audio,如下图所示,它处于关闭状态。

应用间音频的功能

然后我将其更改为开启,如下图所示。

然而,它仍然无法在 iOS 7 设备中播放任何声音。

有人知道它为什么不起作用吗?这将是一个很大的帮助。

谢谢。

【问题讨论】:

  • AFAIK,与跨应用音频无关
  • 但是你能告诉我什么是确切的问题。我已经尝试了很多。如果你能帮助我。
  • 您是否将设置更改为开启声音?
  • 其实这才是真正的问题,我们可以手动设置声音。但是我们希望它在安装应用程序时默认开启。
  • 这是基于用户的设置。你不能改变它——只有用户可以。

标签: iphone ios audio ios7 uilocalnotification


【解决方案1】:

您是否尝试关闭“请勿打扰”模式? 我有同样的问题,然后我发现“请勿打扰”已开启。 关闭后,一切正常。

【讨论】:

  • 天哪,我花了很长时间都认为这是错误的声音文件,:( 嗯,现在是星期一
【解决方案2】:

尝试使用.caf 文件而不是.mp3

afconvert -f caff -d LEI16@44100 -c 1 wolf.wav wolf_out.caf

【讨论】:

    【解决方案3】:

    我的猜测是您的声音格式不适合操作系统播放。确保您的声音以 IMA4 格式格式化。另外,请确保您的文件在您的应用程序包中,您应该可以继续使用。

    有关更多参考和类似问题,请参阅此 SO 问题。

    Choose custom sound for Local Notifications

    这是Apple's Local and Push Notification Guide 的链接。它详细解释了声音以及可以使用的默认声音。

    【讨论】:

      【解决方案4】:

      我遇到了同样的问题,我必须执行以下步骤:

      1. 将文件从 mp3 或 wav 转换为 caf。 如其他答案所述,您可以使用以下命令在终端中转换 wav、aif 和 mp3 文件:

        afconvert -f caff -d LEI16@44100 -c 1 in.mp3 out.caf

      2. 您还可以使用 Quicktime 7 导出为 .aif,使用以下内容 设置线性 PCM 速率 44.100 线性 PCM 样本大小 16 这些 aif 文件似乎受支持。

      3. 确保您的文件少于 30 秒,即 29 秒或更短。

      4. 将文件添加到包的根目录,您可以拖放到 Xcode 中或右键单击“将文件添加到(项目名称)” 请注意,您必须选择以下选项: a) 目标复制项目(如果需要) b)添加到目标(您的构建名称) 4)按文件名引用文件,包括扩展名,例如 notif.soundName = @"sound.caf";

      确保在测试之间从设备/模拟器中删除应用,否则您将看不到更改的结果。

      如果您仍然有问题,请检查声音文件文件是否在项目的根目录中。 检查在显示文件检查器中选择了声音文件“Target Membership”。

      【讨论】:

      • 我使用过 .caf 扩展名,但无法正常工作
      【解决方案5】:

      请先尝试设置->通知中心->声音是否没有关闭。然后检查设置->声音->滑块是否不为零。这意味着如果你的声音为零,则不允许声音出现.希望对您有所帮助。

      【讨论】:

        【解决方案6】:

        检查“音效”是否静音或低。音量可能很高,但如果声音效果音量为静音,则本地通知可能不会响起。你可以在iOS的主屏幕上增加音量,然后按音量上键。

        【讨论】:

          【解决方案7】:

          如果使用某些工具编辑 mp3 文件,则可能是编辑工具遗漏了某些内容。

          我在尝试将 mp3 文件作为本地通知声音播放时遇到了类似的问题。 声音不到 30 秒,它被捆绑在一起,表面上看起来一切正常。 几个小时后,我意识到问题是由在线 mp3 切割工具引起的。 我找到了更好的编辑器,并且文件在通知时可以播放。

          【讨论】:

            【解决方案8】:

            确保将声音添加到主包中!

            【讨论】:

              【解决方案9】:

              我不知道为什么它会起作用。

              但是,我终于通过在 Xcode 5.0 中创建一个新项目并将旧项目移植到这个新项目来解决了我的问题。所以它工作正常,我也能听到声音。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2017-03-06
                • 1970-01-01
                • 2019-01-24
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多