ちょっとおかしな事に気づきました。
MusicPlayer class。 MediaPlayerを継承してる意味がない。
外してもいいですが、本来意図していた方向に。
フィールドのmediaPlayerを削除
コンストラクタの mediaPlayer = new MediaPlayer(); 削除
後は、mediaPlayer をひたすら super に変更。
isPlayMusic() 削除。
stopMusic() も削除。
SDMediaPlayerの方は、ついでに地味に変更しときます。
(2)でこれの方がいいかもと書いた、xmlでonClickを書いとくのを。
android:onClick="onClickStart"
android:onClick="onClickStop"
android:onClick="onClickSkip"
を、それぞれxmlに追加。
で、SDMediaPlayerのimplements View.OnClickListener削除。
フィールドの
private Button btnStart;
private Button btnStop;
private Button btnSkip;
も、削除。さらに、onCreate内の
//ボタンの取得
btnStart = (Button)findViewById(R.id.start_button);
btnStop = (Button)findViewById(R.id.stop_button);
btnSkip = (Button)findViewById(R.id.skip_button);
//OnClickListenerのセット
btnStart.setOnClickListener(this);
btnStop.setOnClickListener(this);
btnSkip.setOnClickListener(this);
も削除。で、onClickも削除して、
//ボタンが押されたときの処理
public void onClickStart(View view) {
musicNum = musicPlayer.getMusicNum();
if (musicPlayer.isPlaying()) {
if (++musicNum < musicList.size()) {
musicPlayer.setMusicNum(musicNum);
musicPlayer.playMusic();
} else {
musicPlayer.setMusicNum(0);
musicPlayer.playMusic();
}
} else {
musicPlayer.playMusic();
}
}
public void onClickStop(View view) {
if(musicPlayer.isPlaying()) musicPlayer.stop();
}
public void onClickSkip(View view) {
if(musicPlayer.isPlaying()) musicPlayer.skipMusic();
}
に、変更。ボタン一個一個ばらばら。良いのか悪いのか。
まあ、とりあえず。
一度作ったとはいえ、行き当たりばったりは変わらず。
ふらふら、ふらふら。
後、結構重要な事を書くのを忘れてました。
Android Manifestのactivityのとこを、
<activity android:name=".SDMediaPlayerActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden">
こんな感じに、下2行追加しておくと、縦画面固定で
横にしても音楽が、かかりっぱなしの暴走をしなくなります。
ここに 書いてました。わたくし、is01なので、keyboardHiddenをつけてます。
これは、もう少し見つけやすいとこに書いといた方が良かったかも。
次回の先頭につけときます。
ただ、他で見たときは、お勧めしない見たいなことが書いてあったような気が。
まあ、ね。
次回は、大きく変更予定。主に、見た目を。
0 件のコメント:
コメントを投稿