0

我正在做一个 Android 项目,需要直接下载 YouTube 视频(无需任何第三方网站或软件或任何其他 Android 应用程序的帮助)。

我已经尝试了该论坛上发布的几乎所有技术,但没有任何效果。我使用并解析了它们的网址get_video_info,但它们不起作用。

谁能帮助我,目前的技术是什么。这将不胜感激。

4

1 回答 1

-1
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.Toast;

import com.commit451.youtubeextractor.YouTubeExtractionResult;
import com.commit451.youtubeextractor.YouTubeExtractor;

import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;

public class MainActivity extends AppCompatActivity {

private static final String YOUTUBE_ID = "ea4-5mrpGfE";

private final YouTubeExtractor mExtractor = YouTubeExtractor.create();


private Callback<YouTubeExtractionResult> mExtractionCallback = new 
Callback<YouTubeExtractionResult>() {
    @Override
    public void onResponse(Call<YouTubeExtractionResult> call, 
Response<YouTubeExtractionResult> response) {
        bindVideoResult(response.body());
    }

    @Override
    public void onFailure(Call<YouTubeExtractionResult> call, Throwable t) {
        onError(t);
    }
};


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


    //        For android youtube extractor library  
    com.github.Commit451.YouTubeExtractor:youtubeextractor:2.1.0'

    mExtractor.extract(YOUTUBE_ID).enqueue(mExtractionCallback);


    }


private void onError(Throwable t) {
    t.printStackTrace();
    Toast.makeText(MainActivity.this, "It failed to extract. So sad", 
 Toast.LENGTH_SHORT).show();
}


private void bindVideoResult(YouTubeExtractionResult result) {

 //        Here you can get download url link

    Log.d("OnSuccess", "Got a result with the best url: " + 
result.getBestAvailableQualityVideoUri());

    Toast.makeText(this, "result : " + result.getSd360VideoUri(), 
    Toast.LENGTH_SHORT).show();
     }
}
于 2018-11-05T05:40:54.613 回答