質問編集履歴
2
コードの修正
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
### 前提・実現したいこと
|
|
2
2
|
|
|
3
|
-
startボタンを押したら振動が始まり、振幅
|
|
3
|
+
startボタンを押したら振動が始まり、0.1秒ごとの振幅を並べたときsinカーブを描くような振動パターンを作りたいと考えています。以下のコードで0.1秒ごとに戻り値Hzが変化していくようにしたいです。
|
|
4
4
|
|
|
5
5
|
### 発生している問題・エラーメッセージ
|
|
6
6
|
|
|
7
7
|
```
|
|
8
|
-
|
|
8
|
+
アプリが落ちる
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
### 該当のソースコード
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
start.setOnClickListener {
|
|
28
28
|
val vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
|
|
29
|
-
val vibrationEffect = VibrationEffect.createWaveform(longArrayOf(100),
|
|
29
|
+
val vibrationEffect = VibrationEffect.createWaveform(longArrayOf(100), main(), 0)
|
|
30
30
|
vibrator.vibrate(vibrationEffect)
|
|
31
31
|
}
|
|
32
32
|
stop.setOnClickListener{
|
|
@@ -35,10 +35,16 @@
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
private fun
|
|
38
|
+
private fun main(): IntArray {
|
|
39
|
+
val increase: (Int) -> () -> Int = { x: Int ->
|
|
40
|
+
var xx = x
|
|
41
|
+
{ -> xx++ }
|
|
42
|
+
}
|
|
43
|
+
val f = increase(1)
|
|
39
|
-
Hz=
|
|
44
|
+
Hz=sin(gHz*2*Math.PI*f()/gTime).toInt()
|
|
40
|
-
|
|
45
|
+
|
|
46
|
+
|
|
41
|
-
return Hz
|
|
47
|
+
return (0 until 10).map { Hz }.toIntArray()
|
|
42
48
|
}
|
|
43
49
|
}
|
|
44
50
|
```
|
1
コードの修正
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
### 前提・実現したいこと
|
|
2
2
|
|
|
3
|
-
startボタンを押したら振動が始まり、振幅がsinカーブを描くような振動パターンを作りたいと考えています。以下のコードで0.1秒ごとに戻り値Hzが
|
|
3
|
+
startボタンを押したら振動が始まり、振幅がsinカーブを描くような振動パターンを作りたいと考えています。以下のコードで0.1秒ごとに戻り値Hzが変化して振幅が上がっていくようにしたいです。
|
|
4
4
|
|
|
5
5
|
### 発生している問題・エラーメッセージ
|
|
6
6
|
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
private fun vib(): Int {
|
|
39
|
-
Hz= ((gHz
|
|
39
|
+
Hz= (sin(gHz*2*Math.PI*i/gTime).toInt())
|
|
40
40
|
i++
|
|
41
41
|
return Hz
|
|
42
42
|
}
|