我有YouTube鏈接「https://www.youtube.com/watch?v=ySuYTKkgIvg」如何下載YouTube視頻的Android SD卡programaticaly
如何,我可以從YouTube視頻存儲到我的SD卡?
我可以使用YouTube播放器通過android YouTube DATA API播放視頻,但不知道如何下載 是任何可以幫助我做到這一點的API /代碼?
我有YouTube鏈接「https://www.youtube.com/watch?v=ySuYTKkgIvg」如何下載YouTube視頻的Android SD卡programaticaly
如何,我可以從YouTube視頻存儲到我的SD卡?
我可以使用YouTube播放器通過android YouTube DATA API播放視頻,但不知道如何下載 是任何可以幫助我做到這一點的API /代碼?
的Youtube API允許你搜索&列表中的視頻,並獲得媒體播放器URL,這樣就可以在您的網頁播放視頻。
Look here for downloading video from Youtube
Youtube Java Data API - Getting Started
它不會讓你下載的視頻字節的內容 - 因爲谷歌是在保護自己的權利和內容創作者的權利。
我遲到了,但這個解決方案是最適合我只是試試這個。
方法1
添加到您的gradle這個文件
allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}
和依賴
compile 'com.github.Commit451.YouTubeExtractor:youtubeextractor:2.1.0'
添加這個小的代碼和你做。 Demo HERE
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();
}
}
你可以在bindVideoResult()方法下載鏈接。
方法2
添加到文件的gradle
repositories {
maven { url "https://jitpack.io" }
}
compile 'com.github.HaarigerHarald:android-youtubeExtractor:master-SNAPSHOT'
這裏是獲取下載網址的代碼。
String youtubeLink = "http://youtube.com/watch?v=xxxx";
YouTubeUriExtractor ytEx = new YouTubeUriExtractor(this) {
@Override
public void onUrisAvailable(String videoId, String videoTitle, SparseArray<YtFile> ytFiles) {
if (ytFiles != null) {
int itag = 22;
// Here you can get download url
String downloadUrl = ytFiles.get(itag).getUrl();
}
}
};
ytEx.execute(youtubeLink);
http://stackoverflow.com/a/9497608 – Sree
謝謝@Sreekanthss我會檢查出來 –
https://www.youtube.com/watch?v=ySuYTKkgIvg 這個鏈接可以使用下載在代碼中,你通過我的鏈接@Sreekanthss代碼顯示如何下載我的問題是我不知道如何從上面提到的鏈接獲取流媒體鏈接 –