UILocalNotifications spielen benutzerdefinierten Sound

9

Ich habe lokale Benachrichtigungen in meiner App implementiert, aber ich frage mich, ob es eine Möglichkeit gibt, einen Sound zu spielen, der nicht zum Hauptpaket der iPhone App gehört. Grundsätzlich möchte ich in meiner App einen Sound aufnehmen, der abgespielt wird, wenn die lokale Benachrichtigung generiert wird, anstatt einen voraufgezeichneten oder Standardsound abzuspielen. Soweit ich weiß, kann dies umsetzbar sein, weil ich 2-3 App im App Store gesehen habe, die die gleiche Sache macht, die ich tun möchte

%Vor%     
Muhammad Saqib 18.08.2011, 04:53
quelle

6 Antworten

3

Ich schätze, Ihr Sound ist nicht so formatiert, dass er vom Betriebssystem abgespielt werden kann. Stellen Sie sicher, dass Ihr Sound im IMA4-Format formatiert ist. Stellen Sie außerdem sicher, dass sich Ihre Datei in Ihrem Anwendungspaket befindet, und Sie sollten gut gehen können.

Weitere Referenz- und ähnliche Fragen finden Sie in dieser SO-Frage.

Wählen Sie einen benutzerdefinierten Sound für lokale Benachrichtigungen

Hier finden Sie einen Link für Apples Local and Push Notification Guide . Es erklärt die Sounds im Detail und die Standard-Sounds, die verwendet werden können.

    
Bill Burgess 03.02.2012 19:25
quelle
0

Aus der Beschreibung der Eigenschaft soundName -

  

Geben Sie für diese Eigenschaft den Dateinamen (einschließlich der Erweiterung) von a an   Sound-Ressource im Hauptpaket der Anwendung oder    UILocalNotificationDefaultSoundName , um das Standardsystem anzufordern   Ton.

Es scheint nicht, dass andere Töne als die im Bündel vorhandenen verwendet werden können. Sind Sie sicher, dass die Apps lokale Benachrichtigungen mit ihren benutzerdefinierten Sounds verwenden? Vielleicht spielen sie Töne mit Warnungen oder so.

HTH,

Akshay

    
Akshay 18.08.2011 05:24
quelle
0
%Vor%
  

Das sollte funktionieren. Stelle sicher, dass der Sound tatsächlich im Bundle deiner App ist, im richtigen Format ist (lineares PCM oder IMA4 - so ziemlich überall, wo erklärt wird, wie man Sounds für iOS konvertiert, und das ist weniger als 30 Sekunden). p>

Sie können mit dem Terminal von wav und mp3 konvertieren:

%Vor%

'in.wav' ist ein Eingangston, den Sie konvertieren möchten, und 'sound.caf' ist eine Ausgangsdatei, wechseln Sie in das Verzeichnis, in dem die Ausgangsdatei gespeichert werden soll

    
Suraj K Thomas 21.08.2015 06:19
quelle
0

Stellen Sie sicher, dass Ihre Audiodatei zur Liste "Kopiere Bundle-Ressourcen" unter "Projekteinstellungen - & gt; (Ziel) - & gt; Build-Phasen" hinzugefügt wurde. Das hat das Problem für mich behoben. Zuerst bekam ich nur den Standard-Sound, obwohl ich einen benutzerdefinierten Dateinamen angegeben hatte (und die Datei wurde dem Projekt hinzugefügt). Aber nachdem ich die Datei manuell zu dieser Liste hinzugefügt habe, hat es angefangen zu arbeiten.

Ich habe einen System-Sound von meinem Mac zum Testen verwendet. Ich habe es mit diesem Befehl in einer Konsole konvertiert:

%Vor%     
Peterd 17.11.2015 12:56
quelle
0

Nun, ich hatte das gleiche Problem. Es klingt so, als ob dies vorher nicht oder nicht möglich war, um benutzerdefinierten Sound für lokale Benachrichtigungen abzuspielen, die nicht im App Bundle enthalten sind. Aber später wird dies unterstützt und Sie können benutzerdefinierte Sounds aus dem App-Container speziell im Library / Sounds-Verzeichnis zuweisen. Und es hat mit mir funktioniert. Sie können entweder Sounds vom Server in dieses Verzeichnis herunterladen oder es testen, indem Sie eine .caf-Datei (Apple sagte, andere Erweiterungen funktionieren) aus dem Bundle in das Library / sounds-Verzeichnis kopieren und dann die Referenz für die Datei aus dem Bundle entfernen, damit Sie das sicherstellen können Wenn Sounds gespielt werden, kommt es aus dem Verzeichnis außerhalb des Bundles. Das alles funktioniert sehr gut, das Hauptproblem mit mir, wenn Benutzer Kraft zitiert die App, es funktioniert nicht mehr für lokale Benachrichtigung, während es immer noch mit Push-Kit-Benachrichtigungen funktioniert, Im planen lokalen obwohl wenn Push-Kit-Push ankommt. Hier ist der Code zum Testen der Wiedergabe von Sound aus dem Verzeichnis:

%Vor%

Nachdem sichergestellt wurde, dass sich die .caf-Datei im Library / Sounds-Verzeichnis befindet. Sie müssen lediglich den Dateinamen mit der Erweiterung local notification soundName-Eigenschaft zuweisen, als wäre die Datei im Bundle enthalten.

    
IsPha 22.03.2017 09:16
quelle
-2

bereinigen Sie die alten Benachrichtigungen mit?

%Vor%

Sonst kannst du die App vom Telefon löschen (vielleicht brauchst du auch einen Neustart) das sollte funktionieren: -)

Außerdem sollte der oben genannte Code korrekt sein. und diese Zeile localNotification.soundName=@"voice.aif"; sollte ausreichen, um benutzerdefinierte Sounds abzuspielen. Aber wenn Sie zuerst eine Benachrichtigung ohne Sounddatei haben, wird die Standard-Sounddatei ( UILocalNotificationDefaultSoundName ) registriert! und um sich erneut zu registrieren, müssen Sie die vorherige Benachrichtigung ( cancelAllLocalNotifications ) abbrechen oder die App löschen, um Ihre Mitteilung "erneut" registrieren zu können,

Außerdem sagt der Apple Doc:

  

Sounds, die länger als 30 Sekunden dauern, werden nicht unterstützt. Wenn du   Spezifizieren Sie eine Datei mit einem Sound, der mehr als 30 Sekunden lang abgespielt wird   Ton wird stattdessen gespielt.

hoffe es hilft jetzt: -)

    
Flori 10.02.2012 09:26
quelle

Tags und Links