-2

我必须制作一个用户只能在 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。

4

1 回答 1

0
于 2013-02-11T18:37:26.040 回答