-2
我必須製作一個應用程序,用戶只有在iPhone尚未使用時才能拍照。您能否告訴我如何繼續。任何幫助將不勝感激。如何檢測iphone是否仍然?
以下是我已經嘗試了代碼,請推薦其上的改進,該代碼是給幹輸出
_previousMotionValue = 0.0f;
memset(xQueue, 0, sizeof(xQueue));
memset(yQueue, 0, sizeof(yQueue));
queueIndex = 0;
[_motionManager startAccelerometerUpdatesToQueue:_motionManagerUpdatesQueue withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) {
if ([_motionManagerUpdatesQueue operationCount] > 1) {
return;
}
xQueue[queueIndex] = -accelerometerData.acceleration.x;
yQueue[queueIndex] = accelerometerData.acceleration.y;
queueIndex++;
if (queueIndex >= QueueCapacity) {
queueIndex = 0;
}
float xSum = 0;
float ySum = 0;
int i = 0;
while (i < QueueCapacity)
{
xSum += xQueue[i];
ySum += yQueue[i];
i++;
}
ySum /= QueueCapacity;
xSum /= QueueCapacity;
double motionValue = sqrt(xSum * xSum + ySum * ySum);
CGFloat difference = 50000.0 * ABS(motionValue - _previousMotionValue);
if (difference < 100)
{
//fire event for capture
}
[view setVibrationLevel:difference];
_previousMotionValue = motionValue;
}];
基於振動水平,我設置不同的圖像如綠色,黃色,紅色。 我選擇的閾值100
我試過類似的邏輯,你可以在更新後的問題中發現,但它給出了生澀的輸出。 – 2013-02-11 19:05:05
嘗試使用低通濾波器。其中一個包含在文檔中的示例應用程序「AccelerometerGraph」中。當我們將它用於加速計數據時,它會更好,更順暢。 – Tricertops 2013-02-11 19:48:12
總是會有噪音影響運動傳感器。你總是會得到少量的生澀運動。你必須找出你可以處理的門檻。 – Fogmeister 2013-02-11 20:23:01