1. ホーム
  2. android

[解決済み] Android:Mediaplayer Create

2022-02-16 04:37:19

質問

次のようなコードがあります。

package com.example.pr;

import android.media.MediaPlayer;

public class Audio{

    MediaPlayer mp;

    public void playClick(){
        mp = MediaPlayer.create(Audio.this, R.raw.click);  
        mp.start();
    }
}

create"でエラーが発生し、次のようなメッセージが表示されます。 "The method create(Context, int) in type MediaPlayer is not applicable for the arguments (Audio, int)"

どうして?

解決方法は?

MediaPlayer.create()には コンテキスト を最初のパラメータとします。現在の アクティビティ で、動作するはずです。

を試してみてください。

public void playClick(Context context){
    mp = MediaPlayer.create(context, R.raw.click);  
    mp.start();
}

をアクティビティに追加してください。

audio = new Audio();
...
audio.playClick(this);

ただし、音が終わったらMediaPlayerインスタンスのreleaseを呼び出すのを忘れないように、さもないと例外が発生します。

ただし、短いクリックを再生する場合は サウンドプール の方がいいかもしれません。