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 8425287..68703ee 100644 --- a/app/src/main/java/org/ntlab/amaryllis/client/VoiceActivity.java +++ b/app/src/main/java/org/ntlab/amaryllis/client/VoiceActivity.java @@ -204,11 +204,17 @@ if(StartChange == 0) { try { + in = new FileInputStream(file); TextView textView1 = (TextView)findViewById(R.id.Notice); textView1.setText("Record End!"); mr.stop(); mr.reset(); mr.release(); + + in.read(byteData); + byte2short(shortData, byteData); + Base64.encodeToString(byteData, 0,byteData.length, Base64.DEFAULT); + StartChange = 1; } catch (Exception e) { e.printStackTrace(); @@ -217,7 +223,7 @@ try { TextView textView1 = (TextView)findViewById(R.id.Notice); textView1.setText("Record Start!"); - in = new FileInputStream(file); + mr = new MediaRecorder(); mr.setAudioSource(MediaRecorder.AudioSource.MIC); mr.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); @@ -226,9 +232,6 @@ mr.setOutputFile(file.getAbsolutePath()); //mr.setOutputFile(filePath); - in.read(byteData); - byte2short(shortData, byteData); - Base64.encodeToString(byteData, 0,byteData.length, Base64.DEFAULT); mr.prepare(); mr.start(); 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 9730e67..c27b4b5 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 @@ -9,6 +9,7 @@ import android.media.MediaRecorder; import android.os.Bundle; import android.os.Environment; +import android.util.Base64; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -31,6 +32,7 @@ import org.ntlab.amaryllis.client.VoiceActivity; import java.io.File; +import java.io.FileInputStream; public class MapsFragment extends Fragment { @@ -45,10 +47,15 @@ private int SeekChange = 1; private int StopChange = 0; File file; - static final String filePath = Environment.getExternalStorageDirectory() + "/sample.mp4"; + static final String filePath = Environment.getExternalStorageDirectory() + "/sample.3gp"; Button RecordButton; Button PlaybackButton; + private byte[] byteData = new byte[4096]; + private short[] shortData = new short[2048]; + private int bufSize; + + private OnMapReadyCallback callback = new OnMapReadyCallback() { /** @@ -138,11 +145,20 @@ final ImageView R_Playing = getView().findViewById(R.id.R_Playing); if(StartChange == 0) { try { + FileInputStream in = new FileInputStream(filePath); // ファイル読み込み用 + + + TextView textView1 = (TextView)getView().findViewById(R.id.Notice); textView1.setText("Record End!"); mr.stop(); mr.reset(); mr.release(); + + in.read(byteData); + byte2short(shortData, byteData); + Base64.encodeToString(byteData, 0,byteData.length, Base64.DEFAULT); + StartChange = 1; R_Stoping.setAlpha(1.0f); R_Playing.setAlpha(0.0f); @@ -288,4 +304,12 @@ } + private void byte2short(short data[], byte bdata[]){ + int i; + for(i = 0; i < bdata.length / 2; i++){ + // リトルエンディアン + data[i] = (short) ((short) bdata[2 * i] + (short) bdata[2 * i + 1] * 256); + } + } + } \ No newline at end of file