【问题标题】:Mediaplayer plays twiceMediaplayer 播放两次
【发布时间】:2012-01-06 01:27:41
【问题描述】:

I have a media player but when another file is selected it continues to play the old file and new one so it is playing two files at once here is my onCreate method

private MediaPlayer mediaplayer = new MediaPlayer();
private Handler handler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.songplaying);

// Getting Our Extras From Intent
 Bundle names = getIntent().getExtras();

// Getting Specific Data

 path = names.getString("pathkeyword");


 //Start Player
 try {
    playAudio(path);

} catch (Exception e) {
   e.printStackTrace();

}

这是播放音频的方法

 private void playAudio(String url) throws Exception{

  mediaplayer.release();
  mediaplayer.setDataSource(url);
  mediaplayer.prepare();
  mediaplayer.start();

【问题讨论】:

    标签: android audio path media-player media


    【解决方案1】:

    当你开始播放歌曲时,检查它是否正在播放,如果它正在播放则停止它。

         if(player.isPlaying())
          {  
            mediaplayer.stop();
           } 
            mediaplayer.reset();
    
      mediaplayer.setDataSource(url);
      mediaplayer.prepare();
      mediaplayer.start();
    

    不需要释放仅在不再需要播放器时使用的 player.player.release()。

    而且你必须在activity销毁时使用stop()和release()方法。否则很多玩家在后台运行。

    【讨论】:

      【解决方案2】:

      尝试将此添加到 oncreate 方法中,这样您就可以防止新创建音频

      Mediaplayer M = Mediaplayer.create(this,R.row.audio file)
      

      并创建一个新功能,如

      void my function {
          // call it here 
          m.start();
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-29
        • 2012-10-01
        • 2015-02-13
        • 1970-01-01
        相关资源
        最近更新 更多