diff --git a/app/src/main/java/org/ntlab/amaryllis/client/VoiceActivity.java b/app/src/main/java/org/ntlab/amaryllis/client/VoiceActivity.java index 91be140..9d5a326 100644 --- a/app/src/main/java/org/ntlab/amaryllis/client/VoiceActivity.java +++ b/app/src/main/java/org/ntlab/amaryllis/client/VoiceActivity.java @@ -85,7 +85,6 @@ Stoping.setAlpha(1.0f);//画像が見えるようにする処理 Playing.setAlpha(0.0f);//画像が見えないようにする処理 - //try{ //mp.prepare(); //}catch(IllegalStateException e){ diff --git a/app/src/main/java/org/ntlab/amaryllis/client/fragment/MapsFragment.java b/app/src/main/java/org/ntlab/amaryllis/client/fragment/MapsFragment.java index f584234..39e521a 100644 --- a/app/src/main/java/org/ntlab/amaryllis/client/fragment/MapsFragment.java +++ b/app/src/main/java/org/ntlab/amaryllis/client/fragment/MapsFragment.java @@ -12,6 +12,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.util.Log; import android.widget.Button; @@ -41,6 +42,8 @@ private TextView elapsedTimeLabel; private TextView remainingTimeLabel; private int StartChange = 1; + private int SeekChange = 1; + private int StopChange = 0; File file; static final String filePath = Environment.getExternalStorageDirectory() + "/sample.mp4"; Button RecordButton; @@ -166,8 +169,8 @@ //再生開始&再生中止 //次は再生が終わった時の処理を書いていく事。 private void startPlay(){ - ImageView Stoping = getView().findViewById(R.id.Stoping); - ImageView Playing = getView().findViewById(R.id.Playing); + final ImageView Stoping = getView().findViewById(R.id.Stoping); + final ImageView Playing = getView().findViewById(R.id.Playing); float Tmin = 0; float Tmax = 255; //mp = new MediaPlayer(); @@ -176,9 +179,9 @@ if(mp.isPlaying()){ TextView textView1 = (TextView)getView().findViewById(R.id.Notice); textView1.setText("Playback Stop!"); - mp.stop();//再生を中断 - //mp.pause();//途中から再生を再開したい時はこっちを使う必要があるかも - + //mp.stop();//再生を中断 + mp.pause();//途中から再生を再開したい時はこっちを使う必要があるかも + SeekChange = 0; Stoping.setAlpha(1.0f);//画像が見えるようにする処理 Playing.setAlpha(0.0f);//画像が見えないようにする処理 @@ -235,7 +238,9 @@ } TextView textView1 = (TextView)getView().findViewById(R.id.Notice); textView1.setText("Playback Start!"); - mp.seekTo(0); + if(SeekChange == 1) { + mp.seekTo(0); + } mp.start();//再生スタート Playing.setAlpha(1.0f); Stoping.setAlpha(0.0f); @@ -244,6 +249,24 @@ String S_totalTime = createTimeLabel(totalTime);//createTimeLabelにtotalTimeを渡す。 TextView voiceTime = (TextView)getView().findViewById(R.id.VoiceTime); voiceTime.setText(S_totalTime); + + // 再生した音声の終了を検知する + //implements MediaPlayer.OnCompletionListener { + mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { + @Override + public void onCompletion(MediaPlayer mp) { + //Log.d("debug","end of audio"); + TextView textView1 = (TextView)getView().findViewById(R.id.Notice); + textView1.setText("Playback End!"); + Stoping.setAlpha(1.0f); + Playing.setAlpha(0.0f); + mp.stop(); + //mp.release(); + mp.reset(); + SeekChange = 1; + //audioStop(); + } + }); } //totalTimeを分、秒に変換