با استفاده از کد زیر میتونید زمان کامل و زمان سپرده شده از فایصوتی رو بدست بیارید
کد:
protected void setProgressText() {
final int HOUR = 60*60*1000;
final int MINUTE = 60*1000;
final int SECOND = 1000;
int durationInMillis = mediaPlayer.getDuration();
int curVolume = mediaPlayer.getCurrentPosition();
int durationHour = durationInMillis/HOUR;
int durationMint = (durationInMillis%HOUR)/MINUTE;
int durationSec = (durationInMillis%MINUTE)/SECOND;
int currentHour = curVolume/HOUR;
int currentMint = (curVolume%HOUR)/MINUTE;
int currentSec = (curVolume%MINUTE)/SECOND;
if(durationHour>0){
System.out.println(" 1 = "+String.format("%02d:%02d:%02d/%02d:%02d:%02d",
currentHour,currentMint,currentSec, durationHour,durationMint,durationSec));
}else{
System.out.println(" 1 = "+String.format("%02d:%02d/%02d:%02d",
currentMint,currentSec, durationMint,durationSec));
}
}
با استفاده از این کد میتونید محتوای یک فایل متنی رو بخونید
کد:
File file = new File(your file);
try {
FileInputStream in = new FileInputStream(file);
int len = 0;
byte[] data1 = new byte[1024];
while ( -1 != (len = in.read(data1)) ){
if(new String(data1, 0, len).contains(Your String))
//Jim, we got him...
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
و با استفاده از این متد که در JAVA8 وجود داره میتونید به یک خط خاصی از فایل متنی دسترسی داشته باشید
کد:
Java 8 solution:
For small files:
String line32 = Files.readAllLines(Paths.get("file.txt")).get(32)
For large files:
try (Stream<String> lines = Files.lines(Paths.get("file.txt"))) {
line32 = lines.skip(31).findFirst().get();
}
حالا با استفاده از کدهای بالا میتونید یک فایل صوتی رو پخش کنید و همزان با پخش فایل صوتی، فایل زیرنویس یا متن اون رو هم باز کرده و خط مورد نظر رو بخونید و نمایش بدید