Sto utilizzando la classe MediaCodec di Android per leggere i dati grezzi dai file audio. Funziona bene.MediaCodec fornisce sempre un'uscita audio a 16 bit?
Il problema è che non so se è lecito ritenere che i dati di output saranno sempre a 16 bit?
Posso dire, sperimentalmente, che l'uscita è a 16 bit, ma non so come controllarla in fase di esecuzione. La documentazione di MediaCodec non sembra dirmelo. MediaFormat KEY_CHANNEL_MASK
potrebbe dirmelo, ma MediaCodec non sembra impostare quei flag. Imposta la frequenza di campionamento e il tipo mime, ma nulla che possa dirmi esplicitamente la dimensione del bit.
Suppongo che, data la differenza tra i tempi di presentazione dei blocchi successivi e la frequenza di campionamento, dovrei essere in grado di calcolarlo, ma ciò non sembra molto soddisfacente.
C'è un modo per dire, o è scritto da qualche parte che non devo?
Quindi, se presumo 16-bit che sarà a prova di futuro? – ams
Sì, dovrebbe essere sicuro. – marcone
16 bit è già * non * a prova di futuro. Poiché 24 bit e altri formati sono già supportati – yano