はじめに
今回はAndroid開発における、音が鳴るシンプルなコードを実装します。
主に'SoundPool'を使う方法と'MediaPlayer'を使う方法の2種類ありますが、両方実装してみます。
1.SoundPoolを使う方法
音源となるmp3, ogg, wavファイルなどを res/raw/ 以下に置きます。
「res」から「New」「Directory」で「raw」ディレクトリを作成し、そこにファイルを格納しておきましょう。
import android.media.SoundPool
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
// SoundPoolの初期化
val soundPool = SoundPool.Builder()
.setMaxStreams(1)
.build()
// サウンドファイルの読み込み
val soundId = soundPool.load(this, R.raw.sound, 1)
var soundButton = findViewById<Button>(R.id.sound_button)
soundButton.setOnClickListener{
//音を鳴らす処理
soundPool.play(soundId, 1.0f, 1.0f, 0, 0, 1.0f)
}
}
}
2.MediaPlayerを使う方法
MediaPlayerを使う場合も、音源ファイルは 同じようにres/raw/ 配下に置いておきます。
import android.media.MediaPlayer
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
//音を鳴らす処理
val mediaPlayer = MediaPlayer.create(context, R.raw.sound)
mediaPlayer.start()
return root
}
override fun onResume() {
super.onResume()
}
まとめ
マナーモード時の制御や、端末の音量設定と連動させたりなど、実践ではまだまだ考慮すべきことが他にもあるので、今後色々と試してみたいなと思います。