在位置上播放声音改变回声

时间:2016-05-19 09:07:44

标签: java android android-mediaplayer

我正在使用google maps api检查当前位置。

当位置发生变化时,我正在播放声音如果当前位置的值超过15米。

发生的事情是声音似乎多次启动并产生回声效果

我正在使用     mediaFile.start();

对于我声明的mediaFile

1 个答案:

答案 0 :(得分:0)

您必须创建一个服务类,该服务类将获取用户当前的GPS值并在服务上实现onLocationChangeListener。

 public void onLocationChanged(Location location){
      //calculate distance values between initial location and current location
     if(distance>15){
           play_sound();
     }
}

 public void play_sound() {
    // Initializing
    mp = MediaPlayer.create(getApplicationContext(), R.raw.sound_file_name);
    mp.start();
    Thread timer = new Thread() {
        public void run() {
            try {
                sleep(500);
            } catch (InterruptedException e) {
                e.printStackTrace();
            } finally {
                mp.release();
            }
        }
    };
    timer.start();
}