前提・実現したいこと・エラー
androidstudioでvibrationを起動させようとしています。振動自体は行われるのですがcreatewaveformで作ったもの通りではなく途中で途切れてしまいまた再開するといったような具合になってしまいます。配列の途中で途切れているのでrepeatの部分が原因ではないと思います。createwaveformは使えないのでしょうか。それとも端末の振動子側の問題なのでしょうか。
該当のソースコード
kotlin
1cos.setOnClickListener { 2 var intListArray = arrayListOf<Int>() 3 var longListArray = arrayListOf<Long>() 4 repeat(gTime.toInt()) {//gTimeはシークバーで設定 5 var vib = (gAmp * cos(2.0 * Math.PI * i /gTime-Math.PI)+gAmp) / 2.0//gAmpはシークバーで設定 6 intListArray.add(vib.toInt()) 7 longListArray.add(1) 8 i++ 9 } 10 i=0 11 12 val vibrator = getSystemService(VIBRATOR_SERVICE) as Vibrator 13 vibrator.cancel() 14 val vibrationEffect = VibrationEffect.createWaveform( 15 longListArray.toLongArray(), 16 intListArray.toIntArray(), 17 0 18 ) 19 vibrator.vibrate(vibrationEffect) 20 }
試したこと
intListArrayをLogcatで確かめてみたのですがこちらは正しく配列が作られていました。
あなたの回答
tips
プレビュー