音声ファイルを組み込む

Android開発に関するメモランダム

カテゴリー: 睡眠導入  閲覧数:359 配信日: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編)

週間人気ページランキング / 9-15 → 9-21
順位 ページタイトル抜粋 アクセス数
アクセスが、ありませんでした! 0
2024/9/22 1:02 更新
指定期間人気ページランキング / 1970-1-1 → 2024-9-21
順位 ページタイトル抜粋 アクセス数
アクセスが、ありませんでした! 0
2024/9/22 1:02 更新