Android Studio分享mp3和播放/停止歌曲

时间:2018-10-04 03:46:31

标签: java android android-mediaplayer whatsapp

我有此代码:

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();
        }
    });

}

}

我需要知道要修改的内容:

  • 按下按钮peroperoperopero在WhatsApp中共享它(当前,当我共享它时,会发送文档,但不会发送音频)

  • 我只希望同时播放一种声音,现在,如果我同时在两个按钮之前放音,就可以了。

  • 我还希望在播放声音的同时,如果再次按下该按钮,它将停止。

请告诉我我必须在代码中进行哪些更改?非常感谢。

1 个答案:

答案 0 :(得分:0)

要播放音频并停止播放,请使用以下命令:

  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();

要与什么应用共享音频,可以转到以下链接 Sharing audio file