17

アプリケーションで使用UILocalNotificationしています。

アプリケーションには、条件付きで再生される 2 つのサウンドがあります。適切な条件を適用しました。

しかし、アプリケーションをインストールして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) 通知センター

(1) 通知センター

(2) 申請

ここに画像の説明を入力

(3)ここで音ズレ

ここに画像の説明を入力

したがって、これを有効にするために、アプリケーションの Targets のCapabilitiesでInter App Audio をチェックしましたが、下の画像に示すように Off でした。

アプリ間オーディオの機能

アプリ間オーディオの機能

次に、オンに変更すると、下の画像のようになります。

変更後の機能

それでも、iOS 7 デバイスではサウンドを再生しません。

なぜそれが機能しないのか、誰かが何か考えを持っていますか? それは大きな助けになるでしょう。

ありがとう。

4

9 に答える 9

3

.cafの代わりにファイルを使用してみてください.mp3

afconvert -f caff -d LEI16@44100 -c 1 wolf.wav wolf_out.caf
于 2015-04-21T05:50:02.310 に答える
2

私の推測では、あなたのサウンドは OS で再生できるように適切にフォーマットされていません。サウンドが IMA4 形式でフォーマットされていることを確認してください。また、ファイルがアプリケーション バンドルに含まれていることを確認してください。

その他の参照および同様の質問については、この SO の質問を参照してください。

ローカル通知のカスタム サウンドを選択する

Apple の Local and Push Notification Guideへのリンクは次のとおりです。サウンドの詳細と、使用できるデフォルトのサウンドについて説明します。

于 2014-01-25T12:43:50.067 に答える
1

同じ問題に遭遇したため、次の手順を実行する必要がありました。

  1. ファイルを mp3 または wav から caf に変換します。他の回答で述べたように、次のコマンドを使用してターミナルで wav、aif、および mp3 ファイルを変換できます。

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

  2. また、Quicktime 7 で次の設定を使用して .aif としてエクスポートすることもできます。 Linear PCM Rate 44.100 Linear PCM サンプル サイズ 16 これらの aif ファイルはサポートされているようです。

  3. ファイルの長さが 30 秒未満、つまり 29 秒以下であることを確認してください。

  4. バンドルのルートにファイルを追加します。Xcode にドラッグ ドロップするか、[(プロジェクト名) にファイルを追加] を右クリックします。次のオプションを選択する必要があることに注意してください。 name(s)) 4) 拡張子を含む名前でファイルを参照します。 notif.soundName = @"sound.caf";

テストの間にデバイス/シミュレーターからアプリを必ず削除してください。そうしないと、変更の結果が表示されません。

それでも問題が解決しない場合は、サウンド ファイル ファイルがプロジェクトのルートにあることを確認してください。ショー ファイル インスペクターで、サウンド ファイルの [ターゲット メンバーシップ] が選択されていることを確認します。

于 2016-11-04T12:53:27.320 に答える
0

メインバンドルにサウンドが追加されていることを確認してください!ここに画像の説明を入力

于 2016-07-31T02:36:10.090 に答える
0

まず、設定 -> 通知センター -> サウンドがオフになっていないかどうかを試してください。次に、設定 -> サウンド -> スライダーがゼロになっていないかどうかを確認してください。それが役立つことを願っています。

于 2014-04-22T10:49:01.853 に答える
0

「効果音」が無音または低音になっていないことを確認します。音量は大きいかもしれませんが、効果音の音量がミュートの場合、ローカル通知が鳴らない場合があります。U iOS のホーム画面で音量を上げることができ、音量アップ ボタンを押します。

于 2014-04-25T21:09:12.940 に答える
0

なぜそれが機能したのか、私にはわかりませんでした。

しかし、ついにXcode 5.0で新しいプロジェクトを作成し、古いプロジェクトをこの新しいプロジェクトに移植することで問題を解決しました。動作していて、音も出ます。

于 2013-10-26T19:45:56.627 に答える