音楽の再生ボタンを設置する

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

 

【 動画内容 】

ゲーム等での「音楽の再生ボタンを設置する」を解説した動画です。
前回作成した「バックミュージックとアクティビティ」の続編としてご覧ください。
この動画は、予備知識としてアクティビティのライフサイクルIFを理解していることが前提の動画です。
まだ、未学習の方は参考程度にしてください。( わからない箇所はご質問ください。 )

 

Androidアプリの作り方「再生ボタンの設置」

 

 


【 使用画像 (ご自由にお使いください) 】

アプリ素材 スタートボタンアプリ素材 一時停止ボタン

 


【 レイアウト 】

fragment_main.xml か activity_main.xmlです。開発環境のバージョンで変わります。

 

<RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android”
xmlns:tools=”http://schemas.android.com/tools”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:paddingBottom=”@dimen/activity_vertical_margin”
android:paddingLeft=”@dimen/activity_horizontal_margin”
android:paddingRight=”@dimen/activity_horizontal_margin”
android:paddingTop=”@dimen/activity_vertical_margin”
tools:context=”com.example.sound0724.MainActivity$PlaceholderFragment” >

<ImageView
android:id=”@+id/soundButton
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_centerHorizontal=”true”
android:layout_centerVertical=”true”
android:onClick=”onSoundButton
android:src=”@drawable/start” />

</RelativeLayout>

 


【 プログラム 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.Button;
import android.widget.ImageView;

public class MainActivity extends ActionBarActivity {

	/****************************
	 * フィールド ( アプリ全体で使用する変数 )
	 ***************************/
	// 再生の準備
	MediaPlayer p;

	/*********************
	 * 初期化
	 ********************/
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		// 音楽の読み込み
		p = MediaPlayer.create(getApplicationContext(), R.raw.sound);
		// 連続再生設定
		p.setLooping(true);

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

	/*********************
	 * ボタンでの再生と停止
	 ********************/
	public void onSoundButton(View v) {

		// 表示内容の切替え
		ImageView button = (ImageView) findViewById(R.id.soundButton);

		// 再生中なら停止して、停止中なら再生する
		if (p.isPlaying()) {
			p.pause(); // 一時停止
			button.setImageResource(R.drawable.start);
		} else {
			p.start(); // 再生
			button.setImageResource(R.drawable.pause);
		}
	}

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

		p.release(); // メモリの解放
		p = null; // 音楽プレーヤーを破棄
	}
	
	
	@Override
	protected void onPause() {
		super.onPause();
		// 本来なら停止処理が必要
	}
	
	
	@Override
	protected void onResume() {
		super.onResume();
		// 本来なら再開処理が必要
	}
  ~ 以下略 ~