2011-02-24 11 views
8

L'app per iPhone FoneHome ha una funzione in cui è possibile riprodurre un suono come parte di una notifica locale. Quel suono è forte indipendentemente da quale sia il livello del volume dell'iPhone.iPhone: come riprodurre un suono di notifica locale forte indipendentemente dall'impostazione del volume?

Come è possibile ottenere una notifica locale (o push) per riprodurre un avviso audio che è forte indipendentemente dal livello di volume attuale di iPhone? Ho provato solo ad impostare soundName su un file WAV ma suona a prescindere dal volume corrente e non vedo opzioni per impostarlo diversamente.

+0

FoneHome viene eseguito continuamente in background e utilizza suoni diversi dalle notifiche push per riprodurre suoni. – Greg

+5

Puoi fare tutto ciò che vuoi nella tua app ma mettere qualcosa del genere significherebbe violare il controllo dell'utente sul proprio dispositivo. Se abbasso il volume, voglio che rimanga così. –

risposta

2

utilizzare il seguente codice

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]; 

Qui 'x' è un valore in virgola mobile che va normalmente da 0,0 a 1,0. Tuttavia per aumentare il livello del volume assegnare il valore x> 10.0. Ma farlo potrebbe distorcere un po 'il suono.

+0

Questo codice non ha nulla a che fare con le notifiche. –