ボタンをタップしたときにMP3を再生するボタンをAndroidアプリに追加しようとしています。 私はそれを稼働させましたが、mediaPlayerオブジェクトを解放する方法はありません。したがって、アクティビティを終了した後も再生を続けます。私がreact()メソッドの外で(ボタンが押されたときに呼び出される)MediaPlayerオブジェクトを初期化すると、アクティビティが開かれたときにアプリケーションが強制的に閉じるようになります。しかし、私がreact()メソッド内でMediaPlayerを初期化すると、onQuit()メソッドでmplayer.releaseを使用することはできません。私はここで何が見えないのですか? Android MediaPlayerを正しくリリースする方法
public void react(View view) {
MediaPlayer mediaPlayer = MediaPlayer.create(ToBeOrNot.this, R.raw.achord);
mediaPlayer.start();
}
protected void onStop(){
mediaPlayer.release();
mediaPlayer = null;
}
は明白な理由のために動作しませんと
MediaPlayer mediaPlayer = MediaPlayer.create(ToBeOrNot.this, R.raw.achord);
public void react(View view) {
mediaPlayer.start();
}
protected void onStop(){
mediaPlayer.release();
mediaPlayer = null;
}
は、それが強制終了させます。
更新: Javaクラス全体がここにあります。
public class ToBeOrNot extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_to_be_or_not);
}
MediaPlayer mediaPlayer;
public void react(View view) {
mediaPlayer = MediaPlayer.create(ToBeOrNot.this, R.raw.achord);
mediaPlayer.start();
}
protected void onStop(){
mediaPlayer.release();
mediaPlayer = null;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
//getMenuInflater().inflate(R.menu.activity_to_be_or_not, menu);
// Locate MenuItem with ShareActionProvider
return true;
}
}
私はそれが比較的自明であると思います。呼び出されると、何らかのテキストとタップすると録音を開始するボタンが表示されます。誰かが戻るボタンを押すと、前のアクティビティに戻り、録音を停止する必要があります。 私を助けてくれてありがとう!
あなたの他の質問に回答したが、新しい質問をしたい場合は、単にこの質問を編集するのではなく、新しい質問を開く必要があります。 – Geobits
申し訳ありませんが、私はあまりにも多くの質問をしたくありませんでした。 – dacelbot
新しい質問があります。 http://stackoverflow.com/questions/15046888/android-mediaplayer-causing-force-close-onquitそれが素晴らしいと答えるように感じる場合は、ありがとう。他の誰かがそうするかもしれない、あるいは私は自分自身で答えを出すかもしれない。 – dacelbot