簡體   English   中英

Android Java - 由於某種原因SoundPool聲音停止播放

[英]Android Java - SoundPool sounds stop playing for some reason

好吧,我使用SoundPool onClick on ImageView聲音,其中一些啟動另一個Activity。 像這樣 :

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    switch (v.getId()){
    case R.id.main_menue_status:{
button_click.play(button_clickID, 1,1, 0, 0, 1); //this is SoundPoool's play
    Intent intent=new Intent(context,MainMenueActivity.class);
        startActivity(intent);
        finish();
    }

其他活動具有相同的ImageViews(實際上是按鈕)來瀏覽應用程序。 並且我一直使用finish(); 防止創建數百萬個活動副本。 因此,在大約30個SoundPool播放之后聲音停止播放。

我的猜測是因為我在聲音完成之前完成了()活動,因此系統停止播放任何SoundPool。

有什么建議?

UPD:日志:

12-01 19:04:49.797: E/AudioTrack(19981): AudioFlinger could not create track, status: -12
12-01 19:04:49.797: E/SoundPool(19981): Error creating AudioTrack

我相信“狀態:-12”是內存不足的錯誤。 此外,在Activity中調用finish()並不能保證Activity將立即完成並釋放資源。

由於您有多個活動和幾個SoundPools,我建議創建SoundPool並在Activity的onResume()方法中加載聲音資源,然后卸載資源並在onPause()方法中釋放SoundPool。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM