2016-05-19 3 views
0

Я проверяю текущее местоположение с помощью Google Maps api.Воспроизведение звука при изменении местоположения echo

При изменении местоположения я играю звук Если текущее местоположение имеет значение, превышающее 15 метров.

Что происходит в том, что звук, кажется, запустить несколько раз и делает эффект эха

Я использую mediaFile.start();

Для моего объявленного MediaFile

ответ

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(); 
} 
+0

Я рассмотрю ваш код. Проблема не в том, что он не играет, когда местоположение меняет свое противоположное, поэтому я попытаюсь добавить таймер и посмотреть, если проблема эха исчезнет – mogren3000

Смежные вопросы