2013-03-11 5 views
2

Я создал приложение в eclipse для воспроизведения и остановки mp3-файла. Все просто отлично, за исключением того, что когда я проигрываю аудиофайл и останавливаю его, и я хочу его воспроизвести, игра btn не сушит! Мне было интересно, может ли кто-нибудь помочь мне? Заранее спасибо. вот код:Как играть и останавливать mp3-файл в приложении Android

package ir.polyglotcenter.childrenmostfrequentwords; 

import android.app.Activity; 
import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 

public class Main extends Activity { 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    //Related to the media player 
    final MediaPlayer myMediaPlayer = MediaPlayer.create(Main.this, R.raw.audio); 
    //Button related to play btn 
    Button myButtonOne = (Button) findViewById(R.id.btn_audio); 
    myButtonOne.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      myMediaPlayer.start(); 

     } 
    }); 

    //Button related to stop btn 
    Button myButtonTwo = (Button) findViewById(R.id.btn_stop); 
    myButtonTwo.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      myMediaPlayer.stop(); 

     } 
    }); 

} 
} 
+0

почему у вас в финале MediaPlayer? –

+0

заставляют редактора хотеть, чтобы я это сделал –

ответ

0

Попробуйте это (просто определить Media Player в публичных местах)

public class Main extends Activity { 

MediaPlayer myMediaPlayer = null; 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    //Related to the media player 

    myMediaPlayer = MediaPlayer.create(Main.this, R.raw.audio); 

    //Button related to play btn 
    Button myButtonOne = (Button) findViewById(R.id.btn_audio); 
    myButtonOne.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      myMediaPlayer.start(); 

     } 
    }); 

    //Button related to stop btn 
    Button myButtonTwo = (Button) findViewById(R.id.btn_stop); 
    myButtonTwo.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      myMediaPlayer.pause(); 

     } 
    }); 

} 
} 
+0

К сожалению, это не сработало –

+0

Это не может воспроизводить mp3 из любой части, например, 'sdcasd/1.mp3'. –

2

, если вы хотите, чтобы начать остановить звук/на кнопки Click используйте MediaPlayer.start() и MediaPlayer.pause(), чтобы сделать паузу в настоящее время воспроизводящий звук, который начинается снова при нажатии кнопки «Пуск». и переопределить действие , чтобы, наконец, остановить и освободить MediaPlayer. внести изменения в свой код, как:

OnStop Кнопка Click:

myButtonTwo.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      myMediaPlayer.pause(); //>>pause current sound 
      myMediaPlayer.seekTo(0); //>> seek to start it again 

     } 
    }); 

и переопределить OnPause метод деятельности:

+0

Большое спасибо за помощь мне –

0

точка это реализовать MediaPlayer в петле, если или любой петли

public void onClick(View v) { 
    // TODO Auto-generated method stub 
    switch (v.getId()){ 
    case R.id.buttonPlay: 
     //mp.reset(); 
     mp=MediaPlayer.create(Ur Context.this, R.raw."ursong.mp3"); 
     mp.start(); 

     break; 
    case R.id.buttonStop: 
     mp.stop(); 

     break; 
    } 
} 
0

Необходимо ввести код:

final MediaPlayer myMediaPlayer = MediaPlayer.create(Main.this, R.raw.audio); 

в:

myButtonOne.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     final MediaPlayer myMediaPlayer = MediaPlayer.create(Main.this,R.raw.audio); 
     myMediaPlayer.start(); 

    } 
}); 
Смежные вопросы