2014-02-21 7 views
1

어디에 button.playSoundEffect (SoundEffectConstants.CLICK)를 추가해야합니까? ? 는 여기해야합니다버튼을 누를 때 딸깍 소리가납니다.

//onClick event where myButton1 is pressed a click sound occurs 
    public void onClick(View v){ 
    if (v.getId() == R.id.b_Press1){ 
      myButton1.playSoundEffect(SoundEffectConstants.CLICK); 
    } 
+0

http://stackoverflow.com/questions/6394422/how-to-play-a-sound-on-click-of-button – PSK

+0

에 setOnClickListner()에 추가 버튼이 있습니다. –

답변

1

1) 당신은/원시 폴더에 MP3 파일을 넣어해야합니다.

2) 된 setContentView 후()() 메서드에서 onCreate 내부에이 코드를 넣어

final MediaPlayer mp = new MediaPlayer(); 
Button b = (Button) findViewById(R.id.button1); 

b.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 

     if(mp.isPlaying()) 
     { 
      mp.stop(); 
      mp.reset(); 
     } 
     try { 

      AssetFileDescriptor afd; 
      afd = getAssets().openFd("AudioFile.mp3"); 
      mp.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength()); 
      mp.prepare(); 
      mp.start(); 
     } catch (IllegalStateException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

    } 
}); 

3.Sound가 다시이 버튼을 누를 때마다 재생됩니다. 이를 위해 추가 코드를 작성할 필요가 없습니다. AudioFile.mp3/원자재 폴더에 MP3 파일

희망의 이름입니다

참고이 답변이 도움이됩니다 :)

0

final MediaPlayer mp = new MediaPlayer(); 
    Button b = (Button) findViewById(R.id.button1); 

     b.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 

     if(mp.isPlaying()) 
     { 
      mp.stop(); 
      mp.reset(); 
     } 
     try { 

      AssetFileDescriptor afd; 
      afd = getAssets().openFd("song.mp3"); 
      mp.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength()); 
      mp.prepare(); 
      mp.start(); 
     } catch (IllegalStateException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 



    } 
}); 
0

사운드 효과를 그것을 밖으로 시도 것입니다 만 사운드 효과가 사용자에 의해 사용 가능 해지면 재생되고 isSoundEffectsEnabled()는 true입니다.

그래서 당신은 사용을

myButton1.setSoundEffectsEnabled(true) 
0

코드를 통해

android:soundEffectsEnabled="true" 

또는

같은이 코드를 XML을 사용하여 활성화해야합니다. 자세한 내용은이 link1link2

button.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       button.playSoundEffect(0); 
      } 
     }); 
0

당신은 클릭 자신을 playSoundEffect()를 호출 할 필요는 없습니다 읽어 보시기 바랍니다. 같은

을 클릭하는 등의 작업에 내장 된 일부 사운드 효과를 재생됩니다

프레임 워크는 또한주의 : docs로부터

사운드 효과는 음향 효과 경우 재생됩니다 사용자가 사용하도록 설정했습니다.

관련 문제