2011-02-24 19 views
8

La aplicación para iPhone FoneHome tiene una función en la que puede reproducir un sonido como parte de una notificación local. Ese sonido es alto independientemente de en qué nivel de volumen esté configurado el iPhone.iPhone: ¿Cómo se reproduce un sonido de notificación local alto independientemente de la configuración del volumen?

¿Cómo es posible obtener una notificación local (o push) para reproducir una alerta de audio que es ruidosa independientemente de lo que es el nivel de volumen del iPhone actual? Intenté simplemente establecer el soundName en un archivo WAV, pero se reproduce a cualquier volumen, y no veo opciones para configurarlo de otra forma.

+0

FoneHome se ejecuta en segundo plano de forma continua y utiliza algo que no sean notificaciones push para reproducir sonidos. – Greg

+5

Puede hacer lo que quiera en su aplicación, pero poner algo como esto violaría el control del usuario sobre su propio dispositivo. Si baje el volumen, quiero que siga así. –

Respuesta

2

Try usando el siguiente código

NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/audiofile.mp3", [[NSBundle mainBundle] resourcePath]]]; 
NSError *error; 
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error]; 
[audioPlayer setVolume:x]; 
if (audioPlayer == nil) 
    NSLog([error description]);    
else 
    [audioPlayer play]; 

Aquí 'x' es un valor de coma flotante que normalmente oscila de 0,0 a 1,0. Sin embargo, para aumentar el nivel de Volumen, asigna el valor x> 10.0. Pero hacer esto puede distorsionar el sonido un poco.

+0

Este código no tiene nada que ver con las notificaciones. –

Cuestiones relacionadas