1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Kotlin】Androidで音声ファイルを再生する(SoundPool,MediaPlayer)

Last updated at Posted at 2023-05-26

はじめに

今回は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()
    }

まとめ

マナーモード時の制御や、端末の音量設定と連動させたりなど、実践ではまだまだ考慮すべきことが他にもあるので、今後色々と試してみたいなと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?