-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 に答える