2
拿到一個帶有棒棒糖的Android設備後,我注意到我們爲Kitkat(和以前的版本)工作的AudioTrack代碼停止工作,完全相同的代碼適用於之前的棒棒糖設備,所以我想知道我在做什麼錯誤的新版本。 這裏是如何的AudioTrack
(由mTrack
財產簡稱),被初始化:AudioTrack在Android 5.0上停止工作
protected void onCreate(Bundle savedInstanceState) {
int bufferSize = AudioTrack.getMinBufferSize(AUDIO_SAMPLE_RATE, AudioFormat.CHANNEL_CONFIGURATION_STEREO, AudioFormat.ENCODING_PCM_16BIT);
mTrack = new AudioTrack(AudioManager.STREAM_MUSIC, AUDIO_SAMPLE_RATE,
AudioFormat.CHANNEL_CONFIGURATION_STEREO,
AudioFormat.ENCODING_PCM_16BIT, bufferSize,
AudioTrack.MODE_STREAM);
}
而這裏的緩衝如何得到填補:
public void onPlayAudio(byte[] audioBuffer) {
if (mTrack.getPlayState() != AudioTrack.PLAYSTATE_PLAYING) {
mTrack.play();
}
if (audioBuffer != null) {
mTrack.write(audioBuffer, 0, audioBuffer.length);
}
}
同樣,這與棒棒糖現有裝置運行良好。 Logcat上沒有錯誤,一切似乎都很正常,但聲音不出來(是的,我檢查了音量,它一直在上升)。所以我想知道是否有更新,我錯過了,或者是我做錯了。
我注意到AudioFormat.CHANNEL_CONFIGURATION_STEREO
已被棄用,但嘗試建議AudioFormat.CHANNEL_OUT_STEREO
似乎並沒有辦法。
任何幫助將不勝感激。
沒有人有這方面的線索嗎? Kitkat和以前版本的代碼完全相同。任何需要應用於棒棒糖的變化? – dorbsz