Android动态壁纸的声音效果

时间:2014-11-05 15:41:45

标签: android audio wallpaper

Android动态壁纸可以根据用户的触摸创建声音效果吗?

我在市场上看不到很多带有音效的动态壁纸。有原因吗?例如,电池耗尽或其他编程问题?

1 个答案:

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

不应该耗尽不必要的资源,因为它只会在触摸时做出反应。