Esistono diversi tipi di stream in AudioManager. In che modo erano diversi a basso livello? Potrebbe essere quell'uso di, ad es. AudioManager.STREAM_MUSIC blocca lo streaming del microfono di input? O qualcos'altro?Qual è la differenza tra i tipi di stream di AudioManager a basso livello?
risposta
STREAM_ALARM The audio stream for alarms
STREAM_DTMF The audio stream for DTMF Tones
STREAM_MUSIC The audio stream for music playback
STREAM_NOTIFICATION The audio stream for notifications
STREAM_RING The audio stream for the phone ring
STREAM_SYSTEM The audio stream for system sounds
STREAM_VOICE_CALL The audio stream for phone calls
da http://developer.android.com/reference/android/media/AudioManager.html differenza
Uno più significativi è un controllo del volume.
Come dice document, possiamo impostare un livello di volume o regolare un volume per ciascun flusso rispettivamente.
E possiamo controllare "Audio Focus" che consente ad altre app di interrompere la riproduzione o abbassare i volumi in modo che possiamo riprodurre chiaramente un suono su un flusso specifico, o il suono non bloccherà l'altro suono con priorità alta come squillo del telefono, feedback vocale di navigazione o qualcosa del genere come quello.
Con più app potenzialmente in riproduzione audio è importante pensare a come dovrebbero interagire. Per evitare che tutte le app musicali vengano riprodotte contemporaneamente, Android utilizza la messa a fuoco audio per moderare le app di riproduzione audio solo se l'audio focus è attivo.
Altra cosa non menzionata è il dispositivo audio che produce un suono.
Utilizzando STREAM_MUSIC il suono verrà prodotto tramite un dispositivo audio (altoparlante del telefono, auricolare, altoparlante bluetooth o qualcos'altro) collegato al telefono.
Utilizzando STREAM_RING il suono verrà riprodotto attraverso tutti i dispositivi audio collegati al telefono. Questo comportamento potrebbe essere diverso per ogni dispositivo.
Queste sono informazioni utili. Grazie! –
@KeithYokoma. Esiste la possibilità di ridurre il volume del flusso da altri stream. Ho osservato che STREAM_VOICE_CALL sta riducendo il volume di STREAM_MUSIC? Qualche ipotesi su come sta succedendo? –
Come al solito, tutto ciò che Google non documento può (a volte) essere capito dal codice
Per quanto riguarda il blocco, non è in realtà che i flussi blocco l'un l'altro, è solo che i modi di blocco cose. MODE_IN_COMMUNICATION blocca la maggior parte dei flussi.
Ducking: Un comportamento comune e "educato" quando si riproduce un flusso prolungato (ad esempio MUSIC) è quello di ascoltare un richiamo di audio focus e abbassare manualmente il volume del flusso in seguito all'evento "can duck". Il volume dovrebbe tornare al livello precedente quando lo stato attivo torna al flusso.
Pensa che una modalità errata nell'audio o nella traccia audio quando si utilizza l'audiorecord e l'inizializzazione della traccia audio o di un altro registratore audio disattivano o disattivano automaticamente il microfono? –
Spiacente, non ho fatto abbastanza esperimenti con il percorso di registrazione audio. È probabile che sia lo stesso. Tuttavia, ci sono app che registrano le telefonate, ci sono app che mostrano il livello del suono in qualsiasi momento, quindi immagino sia più flessibile sul lato del microfono. Il microfono è in ingresso, quindi non c'è un vero conflitto, suppongo. Gli stessi campioni vanno solo nell'app A, B o C. Forse il volume e le cose, ma questo è un problema minore. – Meymann
Ok! Capisco e ottengo la logica. Dare un'occhiata a un registratore di chiamata e indagare! Grazie per il tuo tempo :) –
- 1. Qual è la differenza tra un'API Java di alto livello e di basso livello?
- 2. Qual è la differenza tra WebRTC e WebSockets per la comunicazione dati a basso livello
- 3. Tipi di montaggio - qual è la differenza
- 4. Qual è la differenza tra una vista e uno stream?
- 5. Differenza tra i tipi di parametro
- 6. Qual è la differenza tra i tipi di dati di colonna MySQL BOOL e BOOLEAN?
- 7. Qual è la differenza tra i due tipi di costruttori di classi in PHP?
- 8. Qual è la differenza tra i tipi di pool di applicazioni IIS7
- 9. Qual è la differenza tra i file .lib e .a?
- 10. Qual è la differenza tra i tipi di vettorizzazione e gli array C incorporati in GCC?
- 11. Qual è la differenza tra i tipi primitivi e di riferimento?
- 12. Qual è la differenza tra i metodi di disegno KineticJS?
- 13. Qual è la differenza tra una transazione SQL a livello di procedura memorizzata e una a livello di SqlConnection?
- 14. Qual è la differenza tra Visual Studio Package e i tipi di progetto VSIX?
- 15. qual è la differenza tra i tipi di dati decimali e numerici in postgresql
- 16. Qual è la differenza tra i tipi di dati grezzi lunghi e lunghi in Oracle?
- 17. Qual è la differenza tra i tipi di stringhe VARCHAR (255) e TINYTEXT in MySQL?
- 18. qual è la differenza tra i modelli e il polimorfismo
- 19. Qual è la differenza formale tra un linguaggio a livello di funzione e uno funzionale?
- 20. Qual è la differenza tra ptr [i] e * (ptr + i)?
- 21. Qual è la differenza tra costruttori di valori e tuple?
- 22. Qual è la differenza tra __add__ e __concat__ di Python?
- 23. Qual è la differenza tra $ a e $$ a in php?
- 24. Qual è la differenza tra gli eventi di fine e fine negli stream dei nodi
- 25. Qual è la differenza tra "$ a" e $ a in unix
- 26. Qual è la differenza tra le variabili di classe di tipi diversi?
- 27. Qual è la differenza tra questi metodi di namespace?
- 28. Qual è la differenza tra il tipo nativo int e i tipi numpy.int?
- 29. qual è la differenza tra std :: call_once ea livello di funzione di inizializzazione statica
- 30. qual è la differenza tra:.! e: r !?
È abbastanza chiaro quale scopo servono. La mia domanda riguarda il modo in cui differiscono a basso livello. Non può essere solo 10 flussi identici. –
È chiaro che è possibile leggere il nome dell'identificatore ... Qual è il comportamento di ogni flusso? Quale è prioritario? Quale viene riprodotto in quale modalità audio? Quali anatre quando gioca il flusso? Quale è soggetto a qualche meccanismo di silenziamento? – Meymann