连续播放更多声音时声音有时会保持沉默,为什么?

时间:2012-10-23 17:24:31

标签: android audio button media-player

我遇到了一个奇怪的问题,并希望有人可以回答它。我有4x4按钮,如果我点击它们,每个按钮播放1秒短音。我的代码:

Button_1= (Button) findViewById(R.id.button1);
            Button_1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (sound!=null){
                        sound.stop();
                        sound.release();
                        sound=null;
                    }
                    sound = MediaPlayer.create(Main.this, R.raw.short_sound);
                    sound.start();
                }
            });

所以会发生的是触摸行中的所有按钮,首先是按钮1,然后是按钮2,每次触摸它时,都会播放一个短音。但有时当我到达第14或第15或第16个按钮时,它不会播放它应该发出的声音。其他按钮工作,但不知何故,最后1,2或3有时不播放任何声音。如果我开始向后触摸按钮,那么我首先触摸第16个按钮它总是有效,但是第一个和第二个按钮可能保持静音。

可能是什么原因引起的? LogCat不写任何东西。

1 个答案:

答案 0 :(得分:0)

当您调用MediaPlayer.create()时,您将分配不一定由GC机制释放的资源。您应该手动释放MediaPlayer.release()例程。当你完成对象