Android Studio Поделитесь mp3 и играйте / останавливайте песни - PullRequest
0 голосов
/ 04 октября 2018

У меня есть этот код:

import android.annotation.SuppressLint;
import android.content.Intent;
import android.media.MediaPlayer;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageButton;

public class MainActivity extends AppCompatActivity {
MediaPlayer mp;

//Buttons 
ImageButton peroperoperopero;
ImageButton personajitosdos;
peroperoperopero = (ImageButton) findViewById(R.id.peroperoperopero);
personajitosdos = (ImageButton) findViewById(R.id.personajitosdos);

//code
peroperoperopero.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            mp = MediaPlayer.create(MainActivity.this,R.raw.peroperopero);
            mp.start();
        }
    });

peroperoperopero.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            Intent compartirAudio = new Intent(android.content.Intent.ACTION_SEND);
            compartirAudio.setType("audio/*");
            compartirAudio.putExtra(Intent.EXTRA_STREAM,
                    Uri.parse("android.resource://" + getApplicationContext().getPackageName() + "/raw/" + R.raw.peroperopero));
            startActivity(Intent.createChooser(compartirAudio, "Compartir vía"));
            return false;
        }
    });

personajitosdos.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            mp = MediaPlayer.create(MainActivity.this,R.raw.unospersonajitos);
            mp.start();
        }
    });

}

}

Мне нужно знать, что нужно изменить:

  • Нажатие кнопки перопероперопероподелиться им в WhatsApp (в настоящее время, когда я делюсь им, отправляется документ, но не аудио)

  • Я хочу, чтобы одновременно воспроизводился только один звук, теперь, если я предшествую двумкнопки одновременно с наложением звуков.

  • Я также хочу, чтобы во время воспроизведения звука, если я нажму кнопку еще раз, он остановился.

скажите, пожалуйста, что мне нужно изменить в коде?Большое спасибо.

1 Ответ

0 голосов
/ 04 октября 2018

Для воспроизведения и остановки звука используйте следующее:

  MediaPlayer mp;
  mp = MediaPlayer.create(context, R.raw.sound_one);
  mp.setOnCompletionListener(new OnCompletionListener() {
    @Override
    public void onCompletion(MediaPlayer mp) {
    // TODO Auto-generated method stub
    mp.reset();
    mp.release();
    mp=null;
   }
  });
  mp.start();

Чтобы поделиться аудио с приложением, перейдите по следующей ссылке Обмен аудиофайлом

...