以下のようなコードをMainActivityに書き、レイアウトの方にストップボタンを設置して、onclickにstopを当てています。
実機で実行したら、音が流れていないときにストップボタンを押すとエラーになってしまうのですが、それを防ぐにはどのようにすれば良いのでしょうか。
package com.test.soundproject;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
MediaPlayer mp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void play(View v) { if (mp != null && mp.isPlaying()) { mp.stop(); mp.release();} mp = MediaPlayer.create(getApplicationContext(), R.raw.rec); mp.setLooping(true); mp.start(); } public void play2(View v) { if (mp != null && mp.isPlaying()) { mp.stop(); mp.release(); } mp = MediaPlayer.create(getApplicationContext(), R.raw.rec2); mp.setLooping(true); mp.start(); } public void stop(View v) { if (mp != null && mp.isPlaying()) { mp.stop(); mp.release(); } } @Override protected void onDestroy() { super.onDestroy(); if (mp != null) { mp.release(); mp = null; } }
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/03 15:46
2016/04/03 15:49