9
10

More than 1 year has passed since last update.

AndroidのMediaPlayerについての備忘録

Last updated at Posted at 2019-08-26

MediaPlayerについて調べたり触ったりしたので、いろいろとざっくりまとめてみた。

MediaPlayeを使う

参考:MediaPlayer overview

公式ドキュメントには3つの使用例が記載されてる
・リソースファイルを再生する場合
・URIから再生する場合
・ストリーミング再生する場合
これに沿って3つの使用例を記載しておく

リソースファイルを再生する場合

リソースファイルを再生
MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.hoge);
mediaPlayer.start();

URIから再生する場合

URIから再生
Uri myUri = ....; 
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(getApplicationContext(), myUri);
mediaPlayer.prepare();
mediaPlayer.start();

URLからストリーミング再生をする場合

URLからストリーミング再生
String url = "http://........";
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(url);
mediaPlayer.prepare(); 
mediaPlayer.start();
AndroidManifest.xml
<!--ネットワークにアクセスするための権限を設定-->
<uses-permission android:name="android.permission.INTERNET" />

よく使うかもしれないMediaPlayerのメソッド

参考:MediaPlayer

戻り値 メソッド 説明
void start() 再生
pause() 一時停止
stop() 停止
prepare() 準備(同期)
release() リソースを開放する
reset() プレイヤーをリセットする
setVolume(float leftVolume,float rightVolume) 左右の音量設定する
seekTo(int msec) 再生位置を指定する
boolean isPlaying() 再生中かどうか返す
isLooping(boolean looping) ループ再生の設定をする。trueはループ、falseはループなし
int getDuration() ファイルの再生時間を返す

ストレージから音声ファイルのURIを取得する

端末毎にある、標準のPickerUIを通じてファイルにアクセスする
参考:一般的なインテント
   ACTION_OPEN_DOCUMENT
   ストレージ アクセス フレームワーク
   [Android] Storage Access Framework で画像を取り出す

MainActivity.java

static final int CHOSE_FILE_CODE = 1;//任意の整数
Uri uri;

public void selectAudio() {
    Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
    intent.addCategory(Intent.CATEGORY_OPENABLE);
    intent.setType("audio/*");
    startActivityForResult(intent, CHOSE_FILE_CODE);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == CHOSE_FILE_CODE && resultCode == RESULT_OK) {
        uri = data.getData();
        //やりたいこと
        ...
        ...
    }
}

9
10
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
9
10