2010-12-14 6 views

Antwort

0

RadioAlarm, ich bin fast sicher, zu spielen in der Lage ist, wenn gedämpft, weil sie sich im Hintergrund laufen hält. Für eine NORMALE lokale Benachrichtigung (d. H. Eine, die auch nach Beendigung der App ausgelöst wird) habe ich keine Möglichkeit gefunden, den Stummschalter oder die Ruftonlautstärke zu überwinden.

+1

Haben Sie einen Weg kennen einen Audioalarm auf einer lokalen Benachrichtigung zu spielen, aber eine .wav-Datei zu spielen, die nicht in dem Bündel ist? Wenn ich zum Beispiel meine Stimme mit "Buy milk" aufnehme und die Benachrichtigung für 14 Uhr einstelle, erhalte ich die Benachrichtigung, möchte aber, dass der Ton ohne Benutzereingriff abgespielt wird. – smorhaim

+0

Apple lässt Sie explizit nicht auf .wav-Dateien zugreifen, die nicht im Bundle enthalten sind. Sie dürfen also keine Dateien im Paket übertragen, ohne die Signierung zu unterbrechen. Daher ist es nicht möglich, Sounds zu spielen, die nicht von Anfang an in Ihrem Bundle enthalten sind. –

0
-(void)playSound:(NSString *)filePath 
    { 
     [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error: nil]; 
     AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:[NSURL fileURLWithPath:filePath]]; 
     [playerItem addObserver:self forKeyPath:@"status" options:0 context:0]; 
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(itemDidFinishPlaying) name:AVPlayerItemDidPlayToEndTimeNotification object:playerItem]; 
     self.audioPlayer = [[AVPlayer alloc] initWithPlayerItem:playerItem]; 
     [self.audioPlayer play]; 
    }