1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

[Android]

Discussão em 'Mobile' iniciado por Stack, Abril 23, 2021.

  1. Stack

    Stack Membro Participativo

    Fiz uma gravador de voz e o arquivo de armazenamento é uma String pathSave quero reproduzir em outra activity, mais em vez de reproduzir o som ele só mostra o caminho, algué sabe como posso corrigir para somente reproduzir o audio?

    primeira tela

    Intent intent = new Intent(MainActivity.this, MainActivity2.class);
    intent.putExtra("play", pathSave);
    startActivity(intent);


    segunda tela

    btnPlay =(Button)findViewById(R.id.play);

    btnPlay.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    String som = getIntent().getExtras().getString("play");
    btnPlay.setText(som);
    }
    });


    Esse é o código completo

    public class MainActivity extends AppCompatActivity {
    private WebView webView;
    ImageButton grvg, stpg, plar, stpr, next;
    String pathSave = "";
    MediaRecorder mediaRecorder;
    MediaPlayer mediaPlayer;
    Uri audio;
    String audio_ok;
    final int REQUEST_PERMISSION_CODE = 200;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    plar = (ImageButton)findViewById(R.id.plar);
    grvg = (ImageButton)findViewById(R.id.grvg);
    stpr = (ImageButton)findViewById(R.id.stpr);
    stpg = (ImageButton)findViewById(R.id.stpg);
    next = (ImageButton)findViewById(R.id.next);


    if(checkPermissionFromDevice())
    {

    grvg.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    pathSave = Environment.getExternalStorageDirectory()
    .getAbsolutePath()+"/gravação"
    + UUID.randomUUID().toString()+"_audio_record.3gp";

    setupMediaRecorder();
    try{
    mediaRecorder.prepare();
    mediaRecorder.start();
    grvg.setEnabled(false);
    stpr.setEnabled(false);
    plar.setEnabled(false);
    stpg.setEnabled(true);
    Toast.makeText(MainActivity.this, "Gravando...", Toast.LENGTH_SHORT).show();
    } catch(IOException e){

    e.printStackTrace();
    mediaPlayer.stop();

    }

    }
    });

    stpg.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    mediaRecorder.stop();
    stpg.setEnabled(false);
    plar.setEnabled(true);
    grvg.setEnabled(true);
    stpr.setEnabled(false);
    Toast.makeText(MainActivity.this, "Gravação parada...", Toast.LENGTH_SHORT).show();


    }
    });

    plar.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    stpr.setEnabled(true);
    stpg.setEnabled(false);
    grvg.setEnabled(false);

    mediaPlayer = new MediaPlayer();
    try{
    mediaPlayer.setDataSource(pathSave);
    mediaPlayer.prepare();
    } catch (IOException e) {
    e.printStackTrace();
    }
    mediaPlayer.start();
    Toast.makeText(MainActivity.this, "Reproduzindo áudio...", Toast.LENGTH_SHORT).show();
    }
    });

    stpr.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    stpr.setEnabled(false);
    grvg.setEnabled(true);
    stpr.setEnabled(false);
    plar.setEnabled(true);
    Toast.makeText(MainActivity.this, "Reprodução parada...", Toast.LENGTH_SHORT).show();

    if (mediaPlayer != null)
    {
    mediaPlayer.stop();
    mediaPlayer.release();

    setupMediaRecorder();

    }

    }
    });
    }
    else
    {
    requestPermission();
    }
    next.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {

    Intent intent = new Intent(MainActivity.this, MainActivity2.class);

    intent.putExtra("play", pathSave);
    startActivity(intent);



    }
    });
    }



    private void setupMediaRecorder() {
    mediaRecorder = new MediaRecorder();
    mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    mediaRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
    mediaRecorder.setOutputFile(pathSave);
    }

    private void requestPermission() {
    ActivityCompat.requestPermissions(this, new String[]{
    Manifest.permission.WRITE_EXTERNAL_STORAGE,
    Manifest.permission.RECORD_AUDIO,
    Manifest.permission.INTERNET,
    Manifest.permission.READ_EXTERNAL_STORAGE,
    }, REQUEST_PERMISSION_CODE);
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    switch (requestCode)
    {
    case REQUEST_PERMISSION_CODE:
    {
    if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
    Toast.makeText(this, "Permisson Aprovada", Toast.LENGTH_SHORT).show();
    else
    Toast.makeText(this, "Permission Negada", Toast.LENGTH_SHORT).show();
    }
    break;

    }
    }

    private boolean checkPermissionFromDevice() {
    int write_external_storage_result = ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
    int record_audio_result = ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO);
    int read_external_storage_result = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE);
    int internet_result = ContextCompat.checkSelfPermission(this, Manifest.permission.INTERNET);
    return write_external_storage_result == PackageManager.PERMISSION_GRANTED &&
    record_audio_result == PackageManager.PERMISSION_GRANTED &&
    read_external_storage_result == PackageManager.PERMISSION_GRANTED &&
    internet_result == PackageManager.PERMISSION_GRANTED;
    }
    }

    Continue reading...

Compartilhe esta Página