2012-05-01 18 views
9

Stiamo creando un'applicazione audio per iPad (solo) che verrà utilizzata per le esibizioni dal vivo. Il dispositivo verrà collegato direttamente alla console. Come tale, l'ultima cosa che si desidera durante una performance dal vivo è quella di far emettere improvvisamente al dispositivo un allarme o un promemoria inatteso.Come posso sospendere tutte le notifiche audio sull'iPad?

Con la ricerca nell'SDK di Apple, sembra possibile bloccare tutto tranne il calendario e gli allarmi (e le chiamate su iPhone).

Detto questo, qualcuno sa come dire al dispositivo 'Mentre siamo in modalità' On Air ', non consentire le notifiche del sistema operativo?' ?

In caso contrario, possiamo interrogare almeno se sono attivati ​​in modo da poter avvisare l'utente?

Il jailbeaking non è un'opzione perché vogliamo venderlo tramite l'App Store.

UPDATE

Un'altra opzione è quella di permettere alle segnalazioni regolari e tali da giocare ancora attraverso l'altoparlante del iPad, ma abbiamo inviare nostro suoni tramite la line-out nel connettore dock.

Ovviamente potremmo sempre sviluppare il nostro hardware per questo, ma stiamo cercando di sfruttare al massimo la funzionalità integrata del dispositivo.

risposta

0

Nota: non ho un iPad di fronte a me ora, ma presumo che abbia la stessa opzione del mio iPod. EDIT: No, non è così.

SOLO iPod: in "Impostazioni" => "Suoni", è possibile trascinare il volume "Suoneria e avvisi" fino in fondo. Il mio iPod non emette alcun rumore quando questo cursore del volume è completamente abbassato, tranne che per i rumori dei programmi che apro.

Screenshot of iPod settings

L'iPad non sembra per consentire il controllo volume separato di suoni di sistema e il programma suona come l'iPod fa.

Photo of iPad settings

+0

Sapete se è possibile farlo a livello di programmazione. Questo è quello che stiamo cercando di scoprire. Vogliamo che la nostra app lo faccia automaticamente quando entriamo in modalità "In diretta". Se non possiamo cambiarlo via codice, speriamo di poterlo interrogare almeno tramite codice per avvisare l'utente se non è impostato fino in fondo. – MarqueIV

+0

In realtà, ho fatto qualche ricerca in più qui. Due cose. Uno, sì, puoi capire come farlo a livello di codice (anche se è un'API privata) ma, cosa più importante, non penso che ciò che hai affermato sia effettivamente vero come quando lo trascino completamente a sinistra, puoi ancora sentire il suono, anche se leggermente Lo senti persino tramite le cuffie. In altre parole, non è possibile ridurlo completamente al silenzio. – MarqueIV

+0

Come ho già detto sopra, sul mio iPod, i suoni del sistema diventano completamente silenziosi quando si trascina completamente a sinistra. –

0

Non ho effettivamente provato questo, ma dopo una rapida ricerca su Google ho trovato il riferimento AVAudioSession classe dice che le impostazioni di MODE per AVAudioSessionCategoryRecord potrebbe ottenere quello che vuoi.

La nota su AVAudioSessionCategoryPlayAndRecord dice:

Se si vuole garantire che suona come i messaggi di notifica non giocano, mentre la vostra applicazione sta registrando, utilizzare la categoria AVAudioSessionCategoryRecord invece.

http://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVAudioSession_ClassReference/Reference/Reference.html#//apple_ref/c/data/AVAudioSessionCategoryRecord

(È inoltre possibile utilizzare l'API C: http://developer.apple.com/library/ios/#documentation/AudioToolbox/Reference/AudioSessionServicesReference/Reference/reference.html#//apple_ref/doc/c_ref/kAudioSessionCategory_PlayAndRecord)

+0

Sì, ma è per la registrazione. Non sono sicuro che sia sufficiente per la riproduzione, il che è ciò che cerchiamo. – MarqueIV

+0

Confermato: non lo è. Disattiva solo i suoni di sistema durante la registrazione e, mentre lo è, non supporta * alcuna * riproduzione, la tua o i sistemi. Come hai detto, esiste una variante PlayAndRecord companion, ma è comunque suscettibile di suoni di sistema. – MarqueIV

1

può rendere la vostra applicazione non ammissibili per la distribuzione App Store, ma non v'è apparentemente un privato API che alcune persone hanno avuto la possibilità di fare questo .Vedi:

Alcune persone riferiscono che ci sono alcune chiamate API che hanno il sottoprodotto di presa in consegna tutte le uscite audio. Vedi iOS 5 Audio Alarms Don't Sound Without kAudioSessionProperty_OverrideCategoryMixWithOthers On per un esempio.

La tua scommessa più sicura è la probabilmente per richiedere all'utente di modificare l'impostazione all'apertura dell'app.

+0

Questo sembra molto promettente visto che sei corretto, questo ucciderà i suoni del sistema. Tuttavia, quando leggi oltre, vedrai che dice che il suo suono si abbassa ancora, cosa che ovviamente non vogliamo assolutamente. E per quanto riguarda l'impostazione del volume di allerta, anche se lo fai manualmente, non puoi arrivare fino a "0". Provalo. Se lo fai scorrere fino in fondo, ottieni comunque un volume molto basso, ma è lì, che di nuovo, quando sei dal vivo, non puoi avere. Questo progetto potrebbe essere DOA. – MarqueIV

+0

Non ho un iPad di fronte a me in questo momento, ma il mio iPod Touch fa andare a 0 quando si fa scorrere verso sinistra. –

+0

Non di fronte al mio iPad in questo momento, ma sul mio iPhone, non diventa completamente silenzioso. Odd Apple avrebbe due comportamenti diversi, ma potrebbe essere possibile perché si tratta di un telefono e quindi si desidera sempre la suoneria se l'interruttore non è "silenzioso". Dovrò giocarci. Se funziona su iPad, otterrai la risposta. – MarqueIV