携帯電話の SD カードのテキスト ファイルを検索して、Web サーバー上の曲の URL を検索する次のコードがあります。
電話を回して方向を変えることで曲をシャッフルすることができますが、そのロジックがどこから来ているのかわかりません. 私のコードには、このようにシャッフルを引き起こすものは見当たりません。
このようにシャッフルする原因は何ですか?この場合、この機能をオフにするにはどうすればよいですか?
水平方向と垂直方向の両方を維持したいので、1つの方向にとどまるようにコーディングすることは、私が望んでいることではありません。
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.util.Random;
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.widget.MediaController;
import android.widget.TextView;
import android.widget.VideoView;
public class MusicPlayerActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
File sdcard = Environment.getExternalStorageDirectory();
File file = new File(sdcard, "TestMus1.txt");
TextView textView1 = (TextView)findViewById(R.id.textView1);
try {
BufferedReader br = new BufferedReader(new InputStreamReader(new DataInputStream(new FileInputStream(file))));
LineNumberReader rdr = new LineNumberReader(br);
int min = 1;
int max = 1618;
Random r = new Random();
int someRandomNo = r.nextInt(max - min + 1) + min;
textView1.setText(Integer.toString(someRandomNo));
rdr.setLineNumber(someRandomNo);
int linenum = 0;
String theLine = "";
while (linenum < someRandomNo) {
theLine = br.readLine();
linenum++;
}
textView1.setText(theLine);
VideoView videoView = (VideoView) findViewById(R.id.VideoView);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
// Set Audio
Uri video = Uri.parse(theLine);
videoView.setMediaController(mediaController);
videoView.setVideoURI(video);
videoView.start();
}
catch (Exception e) {
//Error Handling
}
}
}