こちらのページ等を参考にswiftで加速度情報を取得するアプリを作成しております。
取得することは出来たのですが、取得間隔を動的に変えたいと考えております。上記ウェブサイトで、
motionManager.accelerometerUpdateInterval = 0.1
とすると、取得間隔を0.1秒にすることができます。
できるだけ間隔を短く撮りたいのですが消費電力を浪費したくないのであまり移動していないときは間隔を広くしたいと考えています。
とすると、以下のmotionAnimationの中で加速度やジャイロが一定程度の大きさ以上になった際に取得間隔を小さくし(例えば=0.25)、逆に加速度やジャイロが一定程度の小ささ以下であれば、取得間隔を大きくする(例えば0.5)することをしたいと考えております。
func motionAnimation(motionData:CMDeviceMotion?, error:NSError?){ //ここで加速度情報が指定間隔ごとに取得される if (accel < 0.3) { //加速度が大きい際には取得間隔を0.25に小さくする cmManager.deviceMotionUpdateInterval = 0.025 }
ところが、これは出来ません。(エラーは出ないのですが、取得間隔が0.25まで小さくならないようです)。おそらくmotionAnimationの中では取得間隔の変更ができない仕様になっているのではないかと推測しております。(正しいのでしょうか?)
とはいってもこのような使用は消費電力を押させるために有効で、同じような境遇の方がいらっしゃらないかと考え質問させていただいております。例えばNotificationcenterを使用したイベントリスナーで行うとできたりしないものかと思うのですが。。。
日本語でも英語でもある程度検索したのですがヒントがわかりませんでした。
何かヒントだけでもいただけますと幸いです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。