MediaPlayerで再生した音楽をintentで画面遷移させた場所でstopさせる方法を教えてください。

819 views
Skip to first unread message

bobxi

unread,
Apr 13, 2011, 9:21:57 AM4/13/11
to 日本Androidの会
bobxiです。いつもお世話になっております。

MediaPlayerで再生した音楽をintentで画面遷移させた場所でstopする方法をどなたか教えていただけないでしょうか?

通常は、Activity内で
MediaPlayer player;
を宣言し

onCreate内で
player = MediaPlayer.create(this, R.raw.music);
player.setLooping(true);
player.seekTo(0);
player.start();

でBGMを再生させたり止めたりしますが
今回は遷移先で制御したいと考えております。

あるボタンを押すと
Intent intent = new Intent(getApplicationContext(),select.class);
でselect.classに移動させております。

そしてselect.class内で音楽をとめたいと思いますが、データの引渡し方法が分かりません。
putExtraを使えるかと思いましたが無理でした…。

どなたかご教授お願いします。


yuka2py

unread,
Apr 13, 2011, 7:36:29 PM4/13/11
to android-g...@googlegroups.com

ゆぅかです。おはようございます。

player のインスタンスを複数の Activity で共用したいという意味でしょうか?

いくつか方法はありそうですが、
アプリケーション内で使う Activity の基底クラスとして AppActivity などを作り、
その AppActivity の protected static なメンバとして管理されては如何でしょうか?

ゅぅか。

2011/04/13 22:27 "bobxi" <nais...@gmail.com>:
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
>

yuka2py

unread,
Apr 13, 2011, 8:22:04 PM4/13/11
to android-g...@googlegroups.com
ゆぅかです。

続きです。
↓みたいな感じで準備して、アプリの実際の Activity はこの AppActivity を継承する感じです。

public class AppActivity extends Activity {

static protected mPlayer;

@Override
public void onCreate(Bundle state) {
super.onCreate(state);
if (mPlayer == null)
mPlayer = MediaPlayer.create(this, R.raw.music);
}
}


ゆぅか。


2011年4月14日8:36 yuka2py <yuk...@gmail.com>:

bobxi

unread,
Apr 13, 2011, 11:34:24 PM4/13/11
to 日本Androidの会
ゆぅか様

bobxiです。お世話になっております。
丁寧なご解説および例までありがとうございました!
AppActivity を継承する方法を試してみたところ無事解決できました。

重ねてお礼を申し上げます。
ありがとうございました。


On 4月14日, 午前9:22, yuka2py <yuka...@gmail.com> wrote:
> ゆぅかです。
>
> 続きです。
> ↓みたいな感じで準備して、アプリの実際の Activity はこの AppActivity を継承する感じです。
>
> public class AppActivity extends Activity {
>
> static protected mPlayer;
>
> @Override
> public void onCreate(Bundle state) {
> super.onCreate(state);
> if (mPlayer == null)
> mPlayer = MediaPlayer.create(this, R.raw.music);
> }
>
> }
>
> ゆぅか。
>
> 2011年4月14日8:36 yuka2py <yuka...@gmail.com>:
>
> > ゆぅかです。おはようございます。
>
> > player のインスタンスを複数の Activity で共用したいという意味でしょうか?
>
> > いくつか方法はありそうですが、
> > アプリケーション内で使う Activity の基底クラスとして AppActivity などを作り、
> > その AppActivity の protected static なメンバとして管理されては如何でしょうか?
>
> > ゅぅか。
>
> > 2011/04/13 22:27 "bobxi" <naisy...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages