バックミュージックとアクティビティ

※ 新バージョンがあります → [ バックミュージックの再生 ]

プログラミング未経験者対象の【 Androidアプリ作成動画 】です。
この動画はアプリの画面作成の流れを動画にしてUPしたもで、あまり丁寧に解説してません。
開発バージョンの違いや、文字コード、設定等により、コピペしてもうまく機能しない時があります。
動作を保証する物で無く、未経験者の方の参考動画としてご覧ください。

 

【 動画内容 】

ゲーム等での「バックミュージックを流す」を解説した動画です。
バックミュージック(音楽)を流すにはアクティビティのライフサイクルを理解する必要があるので、簡単にですが解説しています。

 

MediaPlayerとActivity

 

動画学習:アクティビティのライフサイクル

 


【 プログラム MainActivity.java 】

 

import android.support.v7.app.ActionBarActivity;
import android.support.v4.app.Fragment;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;

public class MainActivity extends ActionBarActivity {

	// 再生の準備
	MediaPlayer p;

	/*****************************
	 * 起動処理 (読み込みと設定 )
	 *****************************/
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		Toast.makeText(this, "onCreate() 起動処理", Toast.LENGTH_SHORT).show();
		// 音楽の読み込み
		p = MediaPlayer.create(getApplicationContext(), R.raw.sound);
		// 連続再生設定
		p.setLooping(true);

		if (savedInstanceState == null) {
			getSupportFragmentManager().beginTransaction()
					.add(R.id.container, new PlaceholderFragment()).commit();
		}
	}

	/*****************************
	 * 画面表示
	 *****************************/
	@Override
	protected void onResume() {
		super.onResume();

		Toast.makeText(this, "onResume() 再生処理", Toast.LENGTH_SHORT).show();
		p.start(); // 再生
	}

	/*****************************
	 * 画面非表示
	 *****************************/
	@Override
	protected void onPause() {
		// TODO Auto-generated method stub
		super.onPause();

		Toast.makeText(this, "onPause() 画面非表示", Toast.LENGTH_SHORT).show();
		p.pause(); // 一時停止
	}

	/*****************************
	 * 終了処理(メモリの解放)
	 *****************************/
	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();

		Toast.makeText(this, "onDestroy() 終了処理", Toast.LENGTH_SHORT).show();
		p.release();// メモリの解放
		p = null; // 音楽プレーヤーを破棄
	}

	~ 以下略 ~