Android中的声音文件播放是否有限制?

时间:2019-04-30 18:28:38

标签: android android-mediaplayer android-sound

我正在处理一个带有音频文件和照片的应用程序。(像字典一样)我想为“ A”照片播放“ A”声音。单击按钮时会播放声音(为简单起见)。应用程序运行正常,但是单击按钮时(30-40次单击)声音也不会播放。我正在共享我的代码部分。

  ...
  public MediaPlayer mp;
  public Context con;
  public LayoutInflater lf;

  //Sounds and photos
  public Integer[] audios = {
                   R.raw.a, 
                   R.raw.b, 
                   R.raw.c, 
                   R.raw.d  };

  public Integer[] cards = {
                   R.drawable.a, 
                   R.drawable.b, 
                   R.drawable.c, 
                   R.drawable.d };

 public Object instantiateItem(@NonNull ViewGroup container, final int position) {       

 lf = (LayoutInflater) con.getSystemService(con.LAYOUT_INFLATER_SERVICE);
 View view = lf.inflate(R.layout.slide_layout,container,false);
 ImageView imageView = (ImageView) view.findViewById(R.id.imageView);

 ImageButton btn;
 btn=(ImageButton) view.findViewById(R.id.imageButton);
 btn.setOnClickListener(new View.OnClickListener() {

   @Override
   public void onClick(View view) {

         mp = MediaPlayer.create(con,audios[position]);
         mp.start();
     }
    });

    imageView.setImageResource(cards[position]);
    ViewPager vp = (ViewPager) container;
    vp.addView(view,0);

    return view;
}
...

1 个答案:

答案 0 :(得分:0)

请勿为您播放的每种声音创建一个新的MediaPlayer。创建一个,并在每次播放声音时重复使用。