У меня есть приложение, которое воспроизводит mp3-файлы из папки raw и работает отлично.Мне нужно изменить источник файлов с необработанной папки на URL, однако я хочу сохранить строку положения и строку поиска.Я просто хочу создать поток приложения из URL-адреса или из необработанной папки, чтобы в приложении ничего не нужно было менять.
Я хочу сохранить поиск и строку положения без каких-либо изменений.Все, что мне нужно сделать, это заменить необработанную папку в каталоге приложения на URL-адрес с Google Drive.
любая помощь будет оценена.
public class literature_book1_partone extends AppCompatActivity {
Button playBt1;
SeekBar positionBar;
TextView elopsedtimeLable;
TextView remainingTimeLable;
MediaPlayer mp;
int totalTime;
AdView mAdView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_literature_book1_partone);
mAdView = (AdView) findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
playBt1 = (Button) findViewById(R.id.playButton);
elopsedtimeLable = (TextView) findViewById(R.id.elopsedtimeLable);
remainingTimeLable = (TextView) findViewById(R.id.remainingTimeLable);
mp = MediaPlayer.create(this, R.raw.altamlat);
mp.setLooping(true);
mp.seekTo(0);
mp.setVolume(0.5f, 0.2f);
totalTime = mp.getDuration();
positionBar = (SeekBar) findViewById(R.id.positionBar);
positionBar.setMax(totalTime);
positionBar.setOnSeekBarChangeListener(
new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (fromUser){
mp.seekTo(progress);
positionBar.setProgress(progress);
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
}
);
new Thread(new Runnable() {
@Override
public void run() {
while (mp != null){
try {
Message msg = new Message();
msg.what = mp.getCurrentPosition();
handler.sendMessage(msg);
Thread.sleep(1000);
} catch (InterruptedException e){}
}
}
}).start();
}
private Handler handler = new Handler (){
@Override
public void handleMessage(Message msg) {
int currentPosition = msg.what;
positionBar.setProgress(currentPosition);
String elopsedTime = createTimeLable (currentPosition);
elopsedtimeLable.setText(elopsedTime);
String remainingtime = createTimeLable(totalTime-currentPosition);
remainingTimeLable.setText("- " + remainingtime);
}
};
public String createTimeLable (int time){
String timelable = "";
int min = time /1000/60;
int sec = time /1000 % 60;
timelable = min + ":";
if (sec < 10)timelable += "0";
timelable += sec;
return timelable;
}
public void playBtnClick(View view){
if (!mp.isPlaying()){
mp.start();
playBt1.setBackgroundResource(R.drawable.pause);
}else {
mp.pause();
playBt1.setBackgroundResource(R.drawable.play);
}
}
@Override
public void onBackPressed() {
if (mp.isPlaying()) {
mp.stop();
}
super.onBackPressed();
}
}