Untitled

 avatar
unknown
plain_text
9 months ago
2.7 kB
1
Indexable
package com.sangdev.miniproject;

import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import java.io.IOException;

public class MainActivity extends AppCompatActivity {

    private ProgressBar progressBar;
    private TextView outputTextView;

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

        progressBar = findViewById(R.id.progressBar);
        outputTextView = findViewById(R.id.outputTextView);

        // Example usage
        Uri videoUri = Uri.parse("content://path/to/video");
        String outputPath = getExternalFilesDir(null) + "/output_video.mp4";
        new RemoveAudioTask(this, videoUri, outputPath).execute();
    }

    private class RemoveAudioTask extends AsyncTask<Void, Void, Boolean> {
        private Context context;
        private Uri inputUri;
        private String outputPath;

        public RemoveAudioTask(Context context, Uri inputUri, String outputPath) {
            this.context = context;
            this.inputUri = inputUri;
            this.outputPath = outputPath;
        }

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            progressBar.setVisibility(View.VISIBLE);
            outputTextView.setVisibility(View.GONE);
        }

        @Override
        protected Boolean doInBackground(Void... voids) {
            try {
                VideoUtils.removeAudioFromVideo(context, inputUri, outputPath);
                return true;
            } catch (IOException e) {
                e.printStackTrace();
                return false;
            }
        }

        @Override
        protected void onPostExecute(Boolean result) {
            super.onPostExecute(result);
            progressBar.setVisibility(View.GONE);

            if (result) {
                outputTextView.setText("Output file: " + outputPath);
                outputTextView.setVisibility(View.VISIBLE);

                // Play the output video
                Uri outputUri = Uri.parse(outputPath);
                Intent intent = new Intent(Intent.ACTION_VIEW, outputUri);
                intent.setDataAndType(outputUri, "video/mp4");
                startActivity(intent);
            } else {
                outputTextView.setText("Failed to remove audio.");
                outputTextView.setVisibility(View.VISIBLE);
            }
        }
    }
}
Editor is loading...
Leave a Comment