android_カスタムの音声ファイルの配置フォルダは?

 


androidアプリ作成について学習しているのですが、


カスタムの音声ファイルをボタンのクリックで再生したいのですが、


その音声の保存場所は resフォルダでも javaフォルダでもなく、


rawフォルダ、だったでしょうか?



はい、その通りです。

Androidアプリでカスタム音声ファイルを再生する場合、

音声ファイルは `res/raw` フォルダに保存するのが一般的です。



### 理由


- `res/raw` フォルダに置いたファイルは、

リソースとして扱われるため、簡単にアクセスできます。


- ファイルは変更されず、コンパイル後もそのままの形でアプリに含まれます。


- リソースIDを使って、簡単に音声ファイルを指定できます。



---


### ファイルを `res/raw` に保存する手順


1. **`res` フォルダに `raw` フォルダを作成**  


   - `res` フォルダを右クリック → `New`

→ `Android Resource Directory` を選択。  

   

   - Resource type を "raw" に設定してフォルダを作成。



2. **音声ファイルを `raw` フォルダに配置**

  

   - `.mp3`, `.wav` などの音声ファイルを `raw`フォルダに

ドラッグ&ドロップ。



---


### 再生するコード例


音声を再生するには、`MediaPlayer` クラスを使用します。


```kotlin



import android.media.MediaPlayer

import android.os.Bundle

import android.widget.Button

import androidx.appcompat.app.AppCompatActivity


class MainActivity : AppCompatActivity() {


    private lateinit var mediaPlayer: MediaPlayer


    override fun onCreate(savedInstanceState: Bundle?) {

        super.onCreate(savedInstanceState)

        setContentView(R.layout.activity_main)


        val playButton: Button = findViewById(R.id.playButton)


        playButton.setOnClickListener {

            // 音声ファイルを `raw` フォルダからロード

            mediaPlayer = MediaPlayer.create(this, R.raw.sample_audio)


            // 再生

            mediaPlayer.start()

        }

    }


    override fun onDestroy() {

        super.onDestroy()

        // MediaPlayerを解放

        if (::mediaPlayer.isInitialized) {

            mediaPlayer.release()

        }

    }

}


```


---


### 注意点

- **ファイル名には小文字を使用**  


  ファイル名に大文字や特殊文字、スペースを含めるとエラーになる可能性があります。

  例: `sample_audio.mp3`


- **ファイルサイズに注意**  


  大きなファイルはアプリサイズに影響を与えるので、

  可能な限り圧縮された形式(例: `.mp3`)を使用してください。


これで、ボタンのクリックでカスタム音声を再生できます!


コメント