2014-11-05 1 views
0

안드로이드 라이브 벽지는 사용자의 터치를 기반으로 사운드 효과를 만들 수 있습니까?안드로이드 라이브 벽지의 사운드 효과

시장에 음향 효과가있는 라이브 벽지가 많이 보지 않습니다. 그 이유가 있을까요? 예 : 배터리 방전 또는 기타 프로그래밍 문제가 있습니까?

답변

0

WallpaperServiceClass에서 MediaPlayer를 사용할 수 있습니다. 당신의/res/raw 폴더에 사용하려는 .mp3 또는 어떤 사운드 리소스를 넣어야합니다.

public class MyWallpaperService extends WallpaperService { 

    private MediaPlayer mediaPlayer; 

    @Override 
    public void onCreate() { 
     super.onCreate(); 

    mediaPlayer = 
     MediaPlayer.create(getApplicationContext(), 
      R.raw.your_sound); 
    } 

// 당신의 WallpaperEngine 하위 클래스에서 터치의 사운드 시작 :

class MyWallpaperEngine extends Engine { 

     @Override 
     public void onCreate(SurfaceHolder surfaceHolder) { 
      super.onCreate(surfaceHolder); 

     // touch is not activated on default so do it here : 
      setTouchEventsEnabled(true); 
     } 

     @Override 
     public void onTouchEvent(MotionEvent event) { 

     switch (event.getAction()) { 

      case MotionEvent.ACTION_DOWN: 
       mediaPlayer.start(); 

     } 
    } 
} 

사운드 사용 중지하려면 :

mediaPlayer.pause() 

또는 당신이 가진 MediaPlayer를 죽일 할 때를 :

mediaPlayer.release(); 

터치로만 반응하므로 불필요한 자원을 낭비하지 않아야합니다.