android studio soundpool 배경소리로 전환하는 법좀 알려주세요

2019. 01. 28. 00:37

화면에 들어가면 자동적으로 효과음이 버튼을 안 누르고도 재생되게 하는 법좀 알려주세요

공유하고 보상받기 ♥︎

총 2개의 답변이 있습니다.

질문자 채택 답변
뮤즈라이브 / 개발팀

Activity 내에서 음원을 재생하고자 하실 때는 MediaPlayer를 이용한 음원의 재생이 가장 기본적입니다.

// 1.리소스에 음원 파일이 존재하는 경우

MediaPlayer mediaPlayer = MediaPlayer.create(액티비티 or 컨텍스트, 음원 파일); // 음원을 재생할 MediaPlayer를 생성
mediaPlayer.setLooping(Boolean 값); // 음원 재생 반복 여부를 선택
mediaPlayer.start(); // 음원 재생 시작
// 2. 기기 내부에 음원이 저장되어 Uri를 받아와야 할 경우

Uri myUri = 음원 파일의 uri; // Uri.parse() 등 메소드를 통해 uri 추출
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(액티비티 or 컨텍스, myUri);
mediaPlayer.prepare();
mediaPlayer.start();

//3. 서버, 인터넷 상에 존재하는 음원을 재생할 때

String url = "http://........"; // url 주소
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(url);
mediaPlayer.prepare();
mediaPlayer.start();

위와 같이 크게 3개의 경우의 수를 들 수 있습니다.

질문하신 내용은 위의 3개의 경우의 수 중 하나를 playMusic() 메소드에 압축시켰을 때를 가정해서 서술하자면

  1. onCreate에서 시작

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

    playMusic();
}

  1. button 강제 클릭으로 시작

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

    Button button = (Button) findViewById(R.id.button);

    button.setOnClickListener(new View.OnClickListener() { // 버튼 누를 시 음원 재생
      @Override
      public void onClick(View view) {
          playMusic();
      }
    });

    button.performClick(); // 버튼 강제 클릭으로 playMusic() 메소드 실행
}

이와 같이 구현하실 수 있겠습니다

2019. 01. 29. 00:39
48

2019. 01. 28. 00:43
37