¿Cómo se puede cambiar el sonido que se reproduce para notificaciones locales? Yo uso el siguiente código para reproducir el sonido por defecto:

notif.soundName = UILocalNotificationDefaultSoundName;

Así, traté de esto más adelante, y no funcionó. ¿Qué debo hacer? Gracias por su ayuda!

notif.soundName = @"sound.caf";
  • Que parece que debería funcionar. Es sound.caf en su paquete de la aplicación?
  • Sí, es de formato definitivamente correcto? No necesito algo como el nombre de:sonido withEnding:caf, o similar, para que?
  • Sí, la documentación dice que incluir la extensión.
InformationsquelleAutor Jack | 2011-08-24

5 Comentarios

  1. 29

    Que deben trabajar. Asegúrese de que el sonido es en realidad en la aplicación del paquete, está en el formato correcto (PCM lineal o IMA4—casi en cualquier lugar que se explica cómo convertir los sonidos para iOS le dirá cómo hacerlo), y es menos de 30 segundos.

    • Arrástrelo y suéltelo en Xcode, es menor de treinta segundos, se la CAF trabajo?
    • La CAF es un formato contenedor; no se puede saber a partir de la extensión de un determinado CAF contiene el tipo correcto de datos. Abra el sonido en el Reproductor Quicktime, presiona Cmd-I para abrir el Inspector de Películas, y compruebe el formato. Un sonido que tenía por ahí dijo que su formato era «PCM Lineal de 16 bits little-endian entero con signo», etc.; si el archivo de sonido se muestra algo distinto, que es probablemente el problema.
    • Yo en lugar de utilizar los IMA4 formato y tengo que trabajar. Gracias por su ayuda!
    • En primer lugar, gracias por eso! Me di cuenta de que si su archivo está en una carpeta dentro de su paquete tiene que ser incluido por ejemplo, @»tonos de llamada/notificación.caf». Segundo, yo solo he probado con un archivo de mp3 y funciona muy bien. Es este un iOS7/8 función y nadie puede decir algo acerca de su compatibilidad con versiones anteriores? (trato de evitar la caf de archivos a medida que la hinchazón de mi paquete de tamaño innecesariamente)
    • comando para convertir .mp3 formato .caf formato. simplemente abre el terminal y teclea – afconvert inputFilePath outputFilePath -d ima4 -f caff-v
  2. 37

    Usted puede convertir de wav y mp3 usando:

    afconvert -f caff -d [email protected] -c 1 in.wav out.caf
    • donde voy a entrar en la orden y también es posible convertir en ios código
    • afconvert es un programa de línea de comandos que puede ser utilizado a partir de la aplicación de shell en su macosx
  3. 16

    Yo también intentó convertir mp3 a caf mediante el comando siguiente:

    afconvert clockalarm.mp3 clockalarm.caf -d ima4 -f caff -v

    Una lección aquí: me pasé varias horas luchando con el sonido de notificación local. Trató de convertir con diferente velocidad de bits y el formato. Pero finalmente he encontrado que no debe ser un defecto con el emulador de iOS 6.1. Me enviaron el código de dispositivo, funciona bien, pero en emulador, no tiene ningún sonido.

    • Muchas gracias por tu comentario. He actualizado el contenido a incluir mis últimas informaciones, mi lección aprendida aquí.
    • me alegro de que encontró una solución 🙂
    • archivo mp3 es de trabajo, sin necesidad de convertirlo en caf formato de archivo
    • por más que usted puede referir a developer.apple.com/library/content/documentation/…
  4. 8

    Me encontré con todos estos problemas (gracias por las respuestas) y fue capaz de resolver el problema mediante la conversión de .a wav .caf (sans 6.1 simulador). El último bit que yo necesitaba era para asegurarse de que el .la caf fue en el que mi aplicación del paquete. Para confirmar o corregir este…

    Haga clic derecho en el archivo en el «Navegador de Proyectos», seleccione «Mostrar Inspector de Archivo» y asegúrese de que el archivo tiene una marca de verificación junto a su proyecto en el «Target» miembro del área. En mi caso, «LocalNotificationExampleTests» era el único elemento marcado. La comprobación de «LocalNotificationExample» fijo mi falta de sonido en el dispositivo.

  5. 2

    Para Swift 3 uso UNNotificationSound.init para la notif objeto en la notificación de la programación de la función.

    Aquí un Swift 3 ejemplo:

    func scheduleNotifications(inSeconds: TimeInterval, completion: @escaping (_ Success: Bool) ->()){
            ...
            notif.sound = UNNotificationSound.init(named: "CustomSound.mp3") 
            ...
    }

    Nota Final, de acuerdo a Apple: «El archivo de sonido debe estar contenida en la aplicación del paquete o en la Biblioteca, los Sonidos de la carpeta de la aplicación del contenedor de datos. Si existen archivos en ambos lugares, a continuación, el archivo en ~/Library/Sonidos será preferido».

Dejar respuesta

Please enter your comment!
Please enter your name here