Android动态壁纸可以根据用户的触摸创建声音效果吗?
我在市场上看不到很多带有音效的动态壁纸。有原因吗?例如,电池耗尽或其他编程问题?
答案 0 :(得分: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 SubClass中启动触摸声音:
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();
不应该耗尽不必要的资源,因为它只会在触摸时做出反应。