2014-11-05 57 views
0

Android動態壁紙可以根據用戶的觸摸創建音效嗎?Android動態壁紙上的音效

我在市場上看不到有很多有聲效的動態壁紙。這有什麼原因嗎?例如,電池耗盡或其他編程問題?

回答

0

您可以在WallpaperServiceClass中使用MediaPlayer。 您需要將.mp3或任何聲音資源 想要在您的/ res/raw文件夾中使用。

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

不應該浪費不必要的資源,因爲它只能通過觸摸反應。