媒体播放器问题,而不断点击按钮?

时间:2012-09-05 11:15:21

标签: android media-player

我正在使用Android的默认媒体播放器播放mp3声音,我的代码用于在

下面进行声音播放
MediaPlayer mp=MediaPlayer.create(hello.this,R.raw.abc);
          if(mp!=null)
          {
              mp.start();
          }

我需要在相同的按钮点击播放相同的声音。当我连续点击按钮后一段时间声音不起作用,我收到错误MediaPlayer(7395):错误(-19,0)。

有没有人知道这个问题, 请发给我

提前感谢。

5 个答案:

答案 0 :(得分:2)

致电

mp.reset();

因为你有时间去除对象

或在班级媒体播放器对象上声明

答案 1 :(得分:0)

制作媒体播放器的全局变量并尝试这种方式

         MediaPlayer mp;

          if (mp!=null) {
              mp.stop();
              mp.release();
            }
          mp= MediaPlayer.create(hello.this,R.raw.abc);
          mp.start();

答案 2 :(得分:0)

    mp = new MediaPlayer();
    mp.create(this, R.raw.testmed);
    mp.setVolume(100, 100);
    mp.setOnPreparedListener(this);
    mp.prepare();

然后你需要定义它,它应该工作:

    public void onPrepared(MediaPlayer player) {
       mp.start();
    }

答案 3 :(得分:0)

you can play music like below

 // for play the song

     MediaPlayer mp = new MediaPlayer();

                 try 
                {                   
                     mp.reset();
                     mp.setDataSource(songPath);                        
                     mp.prepare();
                     mp.start();                    
                     btnPlay.setBackgroundResource(R.drawable.img_btn_pause);                   

                 } catch (IOException e) {
                        Log.v(getString(R.string.app_name), e.getMessage());
                }

答案 4 :(得分:0)

我找到了解决这个问题的方法。我使用下面的代码更正了这个问题,也可以帮助其他人。

由于

调用方法如

PlaySound(R.raw.abc);

//方法

private void PlaySound(int Sound_id) 
    {
        mplayer = MediaPlayer.create(Act_Oceanwaves.this,Sound_id);
        if(mplayer!=null)
        {           
            mplayer.start();
        }
        mplayer.setOnCompletionListener(new OnCompletionListener() 
        {

            @Override
            public void onCompletion(MediaPlayer mp) 
            {               
                mp.release();
            }

        });   


    }