random。ディレクトリを越えて。
SDMP13_1 http://sattva.asasvata.net/Entry/20/
SDMP13_2 http://sattva.asasvata.net/Entry/21/
SDMP13_3 http://sattva.asasvata.net/Entry/22/
12/18追加 SDMP13_4 http://sattva.asasvata.net/Entry/23/
色々さまよった結果、3つ目のに落ち着きました。
12/18 ↑はずでしたが、たぶんもうちょっと変更します。
主な変更点
MusicDirListMakerの引数にArrayListを追加。合計3つ。
で、追加したやつに音楽ファイルをとりあえず詰め込む。
あと、地味にsortもしてます。
ほいで、Activityで、音楽ファイルの総数を確保してから
とりあえず、clear。
で、randomボタンと言うかCheckBox。
public void onClickRandom(View view) {
allMusicList.clear();//clearしときます
addNumList();//sortしときます。
Resources res = getResources();//なんとなく、使ってみる。
if (randomFlag) {
repeatButton.setClickable(true);
shuffleButton.setClickable(true);
repeatButton.setTextColor(res.getColor(R.color.red));
shuffleButton.setTextColor(res.getColor(R.color.red));
randomFlag = !randomFlag;
} else {
repeatButton.setChecked(false);
shuffleButton.setChecked(false);
repeatButton.setClickable(false);
shuffleButton.setClickable(false);
repeatButton.setTextColor(res.getColor(R.color.dark_red));
shuffleButton.setTextColor(res.getColor(R.color.dark_red));
randomFlag = !randomFlag;
}
}
repeatButtonとshuffleButtonを、無効にしてテキストの色を暗く。
押す度に、allMusicList.clear();をしてますが、まあ、お好みで。
で、MusicPlayer。
plauMusic内
//Stringに変換
str = "" + dirNum + musicNum;
//全体の80%を越えたらクリアー。なんとなく。
if (allMusicList.size() > (totalMusicCount * 8 / 10)) allMusicList.clear();
//allMusicListに含まれてなければ
if (!allMusicList.contains(str)) allMusicList.add(str);
randomButton.isChecked()が、無いのはなんとなく。
というか、randomButtonを押す度にclearしてなかった時の名残りです。
まあ、いいかと。
で、onCompletion内
while(true) {
//ランダムにディレクトリを変更
dirNum = (int)(Math.random() * dirList.size());
//リストの詰め替え
sdmp.getMflm().musicFileListMaker(dirList.get(dirNum), musicList);
//カウントもランダムに変更
count = (int)(Math.random() * musicList.size());
//Stringに変換
str = "" + dirNum + count;
//allMusicListに含まれていなければ、つまりrandom開始後再生されていなければ
if (!allMusicList.contains(str)) break;
}
一応これで、再生済みの曲をはじけます。
が、なにぶんMath.random()を使っているので
残りが少なくなる(再生済みの曲が増える)と、
当たりを引くまで時間がかかりそう。
なので、playMusicのほうで、80%ぐらいでclearするようにしたんですが、
まあ、お好みで。
あと、読み込むファイルがmp3とwmaに変わってます。
ーーこれ以下、与太話。ーー
なんかねー。基金訓練にいく前に(16時すぎに始まるんですわ)
携帯ショップをのぞいたらgalaxyが在庫有りになってて
思わず機種変更してしまいまして。
で、そこに貼ってあったスペック表に、mp3/wma再生可能
なんてかいてあったんで。まあ、ついでに。
時間が無かったんで登録だけしといて受け取りは、翌日。(つまり今日)
まあ、結局遅刻したんで、遅れついでに受け取っとけば良かったんですが。
結構ちょこちょこ入荷してるらしいです。予約分は、はけたんですかね。
まあ、気にしてもしょうがないですが。
こんなことなら、is01いらなかった。
まあ、(普通の)TVなし生活中なので、is01のワンセグは有難いんですが。
何かここんとこ出費が多い。あぶく銭が入ったんで。
定職についてないんだから、貯金するべきなんだろうけど。
カバンとか、防風ジーンズとか。そんで、galaxy。
防風ジーンズ。ユニクロの。結構いいです。
そんな寒いとこじゃないんですが、バイクを常用しているので。
寒くないとは言わないが、かなりマシ。
普通に歩いてるだけなら、これだけで充分。パッチいらず。
(パッチ・・・股引。ここではヒートテック含む。)
カバンは、撥水の。ポリウレタン?何かそんなやつ。
まあ、バイク用。少々の雨なら大丈夫。カバンは。本人は大丈夫じゃないけど。
で、galaxy。衝動的に。・・・。
まあ、受け取ったらとりあえずこれを入れてみます。
エミュレーターだと2.3でも動いてるけど、2.2の実機でどうなるか。
ちょっと楽しみ。結構不安。まあ、結果はまた。
0 件のコメント:
コメントを投稿