Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android live壁纸的音效_Android_Audio_Wallpaper - Fatal编程技术网

Android live壁纸的音效

Android live壁纸的音效,android,audio,wallpaper,Android,Audio,Wallpaper,Android live墙纸能否根据用户的触摸产生声音效果 我在市场上看不到很多有音效的现场壁纸。有什么原因吗?例如,电池耗尽或其他编程问题?您可以在您的服务类中使用MediaPlayer。 你需要放上.mp3或任何你想要的声音资源 要在/res/raw文件夹中使用 public class MyWallpaperService extends WallpaperService { private MediaPlayer mediaPlayer; @Override

Android live墙纸能否根据用户的触摸产生声音效果


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

您可以在您的服务类中使用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);
    }
//在您的WallperEngine子类中,在触摸时启动声音:

    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();
不应该消耗不必要的资源,因为它只会在触摸时做出反应