2017-06-22 140 views
0

我使用soundpool播放聲音,但我觀察到聲音被切斷。只有一半的聲音播放。我不知道發生了什麼事。 我使用的聲音時,我伸出的箭頭,並在碰到任何物體它plays.I我共享代碼使用soundpool播放聲音導致聲音截斷

soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() { 
    @Override 
    public void onLoadComplete(SoundPool sp, int sampleId, int status) { 
     soundPool.play(sampleId, 1.0f, 1.0f, 0, 0, 1.0f); 
    } 
}); 
soundPool.load(GameActivity.this, R.raw.btn_click, 1);` 

任何人都知道這一點。

回答

0

SoundPool用於播放小部分聲音。它具有1MB的最大緩衝區限制。它將音頻文件解壓縮爲pcm格式,這取決於採樣率和歌曲長度。所以你的文件可能不需要實際爲1MB。

對於冗長的聲音,您可以使用android的MediaPlayer

mediaPlayer = MediaPlayer.create(this, R.raw.audio_file); 
mediaPlayer.start(); 
+0

好的。我會檢查這一點。 –

+0

但是我的聲音文件大小隻有12kb –

+0

@Shivanikedar音頻文件的長度和採樣率是多少。諸如mp3或ogg之類的文件格式是壓縮的,所以在解壓縮到pcm時會增加文件大小。 您可以嘗試將其解碼爲pcm在線並檢查結果。 – deepankar