مشکل در تبدیل ویدیو به MP3 با کتابخانه FFmpeg

گزارش
سوال

لطفا علت گزارش خود را توضیح دهید.

گزارش لغو

با سللم
من یه برنامه آزمایشی با کتابخانه FFmpeg نوشتم برای تبدیل ویدیو به MP3 و نمیدونم کجای کارو اشتباه رفتم که اصلا ویدیو تبدیل نمیشه !


import android.app.*;
import android.os.*;
import android.widget.*;
import android.view.*;
import android.content.*;
import android.provider.*;
import android.net.*;
import java.io.*;
import com.github.hiteshsondhi88.libffmpeg.*;
import com.github.hiteshsondhi88.libffmpeg.exceptions.*;

public class MainActivity extends Activity
{
private Button pick;
private TextView display_file;

private static final String save_path = android.os.Environment.getExternalStorageDirectory().getAbsolutePath();
private String file_path = "";

private String commands;

ProgressDialog pd;
FFmpeg ffmpeg;

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
}

private void init()
{
pick = findViewById(R.id.pick);
display_file = findViewById(R.id.display_file);
pick.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v)
{
Intent pick = new Intent(Intent.ACTION_PICK, MediaStore.Video.Media.EXTERNAL_CONTENT_URI);
pick.setType("video/*");
startActivityForResult(pick, 20);
}
});
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 20 && resultCode == RESULT_OK)
{
file_path = FileUtil.convertUriToFilePath(getApplicationContext(), data.getData());
display_file.setVisibility(View.VISIBLE);
display_file.setText(file_path);
commands = "ffmpeg -y -i" + file_path + "-strict experimental -vn -ar 44100 -ac 2 -ab 256k -f mp3" + save_path + "/out.mp3";
loadBinary();
executeFFmpeg();
}
}

private void loadBinary()
{
if(ffmpeg == null)
{
ffmpeg = FFmpeg.getInstance(this);
}

try {
ffmpeg.loadBinary(new LoadBinaryResponseHandler() {
@Override
public void onStart() {}

@Override
public void onFailure() {}

@Override
public void onSuccess() {}

@Override
public void onFinish() {}
});
} catch (FFmpegNotSupportedException e) {}
}

private void executeFFmpeg()
{
String[] cmd = {commands};
try {
ffmpeg.execute(cmd, new ExecuteBinaryResponseHandler() {

@Override
public void onStart()
{
pd = new ProgressDialog(MainActivity.this);
pd = ProgressDialog.show(MainActivity.this, null, "converting...", true);
pd.setCancelable(false);
pd.show();
}

@Override
public void onProgress(String message){}

@Override
public void onFailure(String message)
{
pd.dismiss();
Toast.makeText(getApplicationContext(), "Error!", Toast.LENGTH_LONG).show();
}

@Override
public void onSuccess(String message)
{
pd.dismiss();
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_LONG).show();
}

@Override
public void onFinish() {}
});
} catch (FFmpegCommandAlreadyRunningException e) {}
}
}

0
اندروید - android 0 پاسخ 252 بازدید 0

درباره نویسنده

دانشجوی کاردانی کامپیوتر گرایش نرم افزار هستم علاقه زیادی به برنامه نویسی اندروید و برنامه نویسی برای ویندوز به زبان #C داردم.

ارسال نظر