Je développe un réveil qui doit être réveillé lors de la réception d'une notification locale. mais quand l'appareil en sourdine je ne peux rien entendre, je demande parce que j'ai vu 2 applications qui ont mis en place ce i.e (alarme radio). merci, tomer.iOS est-il possible de lire le son de la notification locale lorsque l'appareil est en sourdine
Répondre
Découvrez la fonction setCategory
de AVAudioSession
- cela devrait faire l'affaire pour vous.
est ici un lien pour plus d'informations sur les catégories: developer.apple.com - Audio Session Categories
RadioAlarm, je suis presque certain, est en mesure de jouer quand mis en sourdine, car il se maintient en cours d'exécution en arrière-plan. Pour une notification locale NORMALE (c'est-à-dire une notification qui se déclenche même après la fin de l'application), je n'ai pas trouvé de moyen de contourner le commutateur de sourdine ou le volume de la sonnerie.
Connaissez-vous un moyen de jouer une alerte audio sur une notification locale, mais la lecture d'un fichier .wav qui ne sont pas dans le paquet? Par exemple, si j'écris ma voix en disant "Acheter du lait" et que je règle la notification pour 14h .. je reçois la notification mais je veux que le son soit joué sans intervention de l'utilisateur ..? – smorhaim
Apple ne vous permet pas explicitement d'accéder aux fichiers .wav qui ne sont pas dans le paquet. Donc, puisque vous n'êtes pas autorisé à tricher des fichiers dans le bundle sans casser la signature. Il n'est donc pas possible de jouer des sons qui ne sont pas inclus depuis le début dans votre bundle. –
-(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];
}
bien que ça va tout le monde ennuyer dans le théâtre ... – Spacedman