Amin-rz
یک شنبه 09 فروردین 1394, 14:24 عصر
سلام.می خوام frame های یک ویدئو رو به صورت عکس ذخیره کنم ولی فقط frame اول و آخر ذخیره میشه.
// Async Task Class
class SavePhoto extends AsyncTask<String, String, String> {
// Show Progress bar before downloading Music
@Override
protected void onPreExecute() {
super.onPreExecute();
String path = Environment.getExternalStorageDirectory().toString ();
File dir = new File(path+"/"+"videoframes");
if(!dir.exists())
dir.mkdir();
dialog.setMessage("در حال ذخیره...");
dialog.show();
}
// Download Music File from Internet
@Override
protected String doInBackground(String... f_url) {
String path = Environment.getExternalStorageDirectory().toString ();
OutputStream fOut = null;
File file = null;
try {
for(int i=1000 ; i<=100000 ; i++)
{
publishProgress("" + (i/1000) );
myVideo = new File(Environment.getExternalStorageDirectory().get AbsolutePath(),"arabi.mp4");
mmRetriever = new MediaMetadataRetriever();
mmRetriever.setDataSource(myVideo.getAbsolutePath( ));
bitmap = mmRetriever.getFrameAtTime(i);
int number = 1 ;
do{
file = new File(path+"/"+"videoframes"+"/", "image_"+number+".jpg"); // the File to save to
number++ ;
}while(file.exists());
fOut = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fOut); // saving the Bitmap to a file compressed as a JPEG with 85% compression rate
fOut.flush();
fOut.close(); // do not forget to close the stream
i=i+999;
MediaStore.Images.Media.insertImage(getContentReso lver(),file.getAbsolutePath(),file.getName(),file. getName());
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
// While Downloading Music File
protected void onProgressUpdate(String... progress) {
// Set progress percentage
dialog.setMessage("در حال ذخیره تصویر "+progress[0]);
}
// Once Music File is downloaded
@Override
protected void onPostExecute(String file_url) {
// Dismiss the dialog after the Music file was downloaded
dialog.hide();
openFolder();
}
}
// Async Task Class
class SavePhoto extends AsyncTask<String, String, String> {
// Show Progress bar before downloading Music
@Override
protected void onPreExecute() {
super.onPreExecute();
String path = Environment.getExternalStorageDirectory().toString ();
File dir = new File(path+"/"+"videoframes");
if(!dir.exists())
dir.mkdir();
dialog.setMessage("در حال ذخیره...");
dialog.show();
}
// Download Music File from Internet
@Override
protected String doInBackground(String... f_url) {
String path = Environment.getExternalStorageDirectory().toString ();
OutputStream fOut = null;
File file = null;
try {
for(int i=1000 ; i<=100000 ; i++)
{
publishProgress("" + (i/1000) );
myVideo = new File(Environment.getExternalStorageDirectory().get AbsolutePath(),"arabi.mp4");
mmRetriever = new MediaMetadataRetriever();
mmRetriever.setDataSource(myVideo.getAbsolutePath( ));
bitmap = mmRetriever.getFrameAtTime(i);
int number = 1 ;
do{
file = new File(path+"/"+"videoframes"+"/", "image_"+number+".jpg"); // the File to save to
number++ ;
}while(file.exists());
fOut = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fOut); // saving the Bitmap to a file compressed as a JPEG with 85% compression rate
fOut.flush();
fOut.close(); // do not forget to close the stream
i=i+999;
MediaStore.Images.Media.insertImage(getContentReso lver(),file.getAbsolutePath(),file.getName(),file. getName());
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
// While Downloading Music File
protected void onProgressUpdate(String... progress) {
// Set progress percentage
dialog.setMessage("در حال ذخیره تصویر "+progress[0]);
}
// Once Music File is downloaded
@Override
protected void onPostExecute(String file_url) {
// Dismiss the dialog after the Music file was downloaded
dialog.hide();
openFolder();
}
}