2012-08-02 18 views
10

¿Cómo puedo acceder al sonido predeterminado de iOS (Tri-tone, Chime, Glass, Horn, Bell, Electronic ...) para configurarlo como sonido de notificación local?¿Cómo puedo acceder al sonido predeterminado de iOS para configurarlo como sonido de notificación?

He creado una notificación local, todo funciona pero con sonido predeterminado (que es Tri-tono). Quiero usar Timbre u otra

sólo sé cómo utilizar mis propios archivos de sonido:

localNotif.soundName = @"sound.wav"; 
+0

¿Cómo accedió al sonido "tri-tono"? No puedo encontrar la identificación de sonido correcta para ello. THX! – DZenBot

Respuesta

12

la salida this sitio.

Si desea reproducir un sonido del sistema predeterminado. remita el siguiente código, pero Frameworks privados. serás rechazado

AudioServicesPlaySystemSound(1004); 

y echa un vistazo a otro código de ejemplo this (No hay marcos privados. Apoyaron un Apple).

2

Los servicios de audio no son privados. Los métodos están documentados en la guía de referencia de desarrolladores y se mencionan en el Multimedia Programming guide.

Todo lo que necesita hacer si descubre la identificación de referencia del sonido que desea reproducir.

3

Los sonidos del sistema no están disponibles para su aplicación, desafortunadamente. De the docs:

Nota: los sonidos de alerta suministrados-System y la interfaz de usuario efectos de sonido proporcionados por el sistema no están disponibles para su aplicación iOS. Por ejemplo, utilizando la constante kSystemSoundID_UserPreferredAlert como un parámetro para la función AudioServicesPlayAlertSound no reproducirá nada.

actualización

Mientras que Apple sí dice que no se puede acceder a los sonidos del sistema, supongo que debe significar que no se puede acceder a ellos para sus propios fines, pero veo que proporciona UILocalNotification.h :

UIKIT_EXTERN NSString *const UILocalNotificationDefaultSoundName; 

"Identifica el sonido del sistema por defecto para jugar cuando se visualiza una alerta de notificación se asigna este valor a la propiedad soundName.". Ahora estoy usando esto en mi aplicación y parece funcionar bien.

+0

Ben, ¿está certificada su aplicación y vive en App Store? –

+0

@KennyLim Sí, pero permítanme verificarlo más tarde para asegurarse de que este código esté allí. 95% seguro de que es. –

+0

La nota del sistema citada anteriormente SÓLO significa que las constantes definidas que acceden a los sonidos del sistema no están disponibles en iOS. No significa que los sonidos reales no estén disponibles en iOS. MacOS tiene la configuración de sonido (anteriormente panel de control) que le permite configurar el sonido de alerta, etc. A eso se refieren esas constantes. – chadbag

Cuestiones relacionadas