我正在使用google maps api检查当前位置。
当位置发生变化时,我正在播放声音如果当前位置的值超过15米。
发生的事情是声音似乎多次启动并产生回声效果
我正在使用 mediaFile.start();
对于我声明的mediaFile
答案 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();
}