2
在我的Nexus 5
上運行Android 5.1
由於this問題,我遇到了延遲音頻。問題是使用SoundPool類播放時,我的44.1 KHz OGG
文件被重新採樣(高達48 KHz?),導致延遲。如何確定Android設備上的最佳音頻採樣率?
現在,我想不同的設備針對不同的採樣率進行了優化。我如何確保我的音頻在所有設備上都表現良好?是否有可能檢測到最佳採樣率,然後從多個音頻資源中選擇最佳文件?
在我的Nexus 5
上運行Android 5.1
由於this問題,我遇到了延遲音頻。問題是使用SoundPool類播放時,我的44.1 KHz OGG
文件被重新採樣(高達48 KHz?),導致延遲。如何確定Android設備上的最佳音頻採樣率?
現在,我想不同的設備針對不同的採樣率進行了優化。我如何確保我的音頻在所有設備上都表現良好?是否有可能檢測到最佳採樣率,然後從多個音頻資源中選擇最佳文件?
你需要AudioManager的PROPERTY_OUTPUT_SAMPLE_RATE
public int getBestSampleRate()
{
if (Build.VERSION.SDK_INT >= 17) {
AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
String sampleRateString = am.getProperty(AudioManager.PROPERTY_OUTPUT_SAMPLE_RATE);
int sampleRate = sampleRateString == null ? 44100 : Integer.parseInt(sampleRateString);
return sampleRate;
} else {
return 44100;
}
}
如果你做了一些測試,請評論,如果使用本地採樣率確實與音頻滯後幫助。 –