2017-06-08 57 views
-1

我有一個線程,其中程序通過藍牙不斷獲得用戶與另一個電話的距離。檢查一個變量是否已「移動」

我選擇實現文本轉語音功能,其中當用戶靠近/遠離地移動儀表時,程序將「通話」。我已經能夠獲得距離,但問題是我不知道如何檢查距離是否接近/遠離至少1米。例如:

Initial distance: 0.81 meters 

當值增加/減少大約1米時,TTS功能​​應激活。

Should activate TTS when distance becomes: 1.81, 2.85, 3.90 

注意,因爲所獲得的距離,第二個值2.85是不完全1米遠離最後的距離1.81「跳躍」的意思,如果你顯示的距離,並開始走開就類似於此:

Distance: 1.01, 1.86, 2.31, 3.29, ... 

我嘗試了各種方法,但我似乎無法做到這一點。任何幫助將不勝感激!

+0

你需要計算的差異距離*自上次激活TTS *。計算只是一個減法。 –

回答

0

請試試這個

int initDist = x; 
int newDist = y; 

int diff = newDist - initDist; 

if(diff >= 1){ 
    // activate TTS here; 
    initDist = newDist; 
} 
+0

這個問題清楚地標記爲java –

0

您可以使用下面的代碼:

int initialDistance = x;//declare it global 
int newDistance = y; 

if(Math.abs(newDistance -initialDistance)>=1) { 
//TTS; 
initialDistance = newDistance; 
} 
+0

是的..因爲我習慣於創建自己的函數,所以我忘記了這些庫的存在:D:P – Sonam

相關問題