カテゴリー:
睡眠導入
閲覧数:374 配信日:2018-05-12 13:29
プロジェクトファイルに音声ファイルを組み込む
rawという名前のフォルダを作成
・res で右クリック ⇒ New ⇒ Android Resource Directory
・開いたダイアログで、Resource Type から raw を選択してrawという名前のフォルダを作成
・この raw の中に音声ファイルをpaste
変数の型の後ろに?を付けて MediaPlayer? としている理由
var mp: MediaPlayer? = null
・?を付けることでnull許容型(nullを代入できる型)として宣言をし、nullを代入するため・?を付けずにnullを代入しようとすると、Kotlinではエラーになる
音声の再生
・MediaPlayerオブジェクトのstart()メソッドを呼び出すことで音声の再生を開始
・mpの後ろに?を付けてmp?とすることで、mpがnullで無ければmp.start()を実行するという意味になる
▼MainActivity.kt
package work.w4c.android0.introducesleep20180426
import android.media.MediaPlayer
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.TextView
import kotlinx.android.synthetic.main.activity_main.*
import java.util.*
class MainActivity : AppCompatActivity() {
var sheepCount = 0
var mp: MediaPlayer? = null // 追加
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var greeting = "こんにちは"
val trialTime = Date()
val calendar = GregorianCalendar()
calendar.time = trialTime
val hour = calendar.get(Calendar.HOUR_OF_DAY)
if (hour in 1..11) {
greeting = "おはよう"
} else if (15 < hour) {
greeting = "こんばんは"
}
//greeting += "。。。ひつじが1匹。。。ひつじが2匹。。。ひつじが3匹。。。"
//val sheepNum = 10
//for (i in 1..sheepNum) {
// greeting += "。。。ひつじが" + i + "匹"
//}
greeting += "ねむれませんか?"
textview.text = greeting
//findViewById<TextView>(R.id.textview).text = greeting
mp = MediaPlayer.create(applicationContext, R.raw.sheep_cry1) // 追加
rootLayout.setOnClickListener {
sheepCount++
val sheepText = "ひつじが$sheepCount 匹"
textview.text = sheepText
when(sheepCount % 2) {
0 -> { // 追加
imageView1.setImageResource(R.drawable.sheep_1) // 追加
mp?.start() // 追加
}
else -> imageView1.setImageResource(R.drawable.sheep_2)
}
}
}
}
初めてのAndroidアプリ開発(Kotlin編)