2017-01-17 10 views
5

ja otwarcie wideo YouTube z moim app, podobne z tej odpowiedzi: https://stackoverflow.com/a/12439378/379865Otwarte youtube wideo w określonym czasie za pomocą android intencję

Zastanawiałem się, czy to możliwe, aby otworzyć wideo w określonym czasie, tak aby instancja ma wideo uruchomione od 30 sekund na starcie, a nie od początku.

+4

myślę podczas udostępniania wideo Youtube w określonym czasie zmiany łącza, więc może być konieczna odpowiednia zmiana linku do pliku wideo. – Lehue

Odpowiedz

7

YouTube ma świetny sposób na wskazanie czasu w adresie URL filmów.

Intent będzie wyglądać startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.youtube.com/watch?v=Z149x12sXs" + time))); gdzie String time = "&t=0m30s";

Edit: Ekspansja na YouTube App.

public static void watchYoutubeVideo(String id, String time){ 
    Intent appIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube:" + id + time)); 
    Intent webIntent = new Intent(Intent.ACTION_VIEW, 
       Uri.parse("https://www.youtube.com/watch?v=" + id + time)); 
    try { 
     startActivity(appIntent); 
    } catch (ActivityNotFoundException ex) { 
     startActivity(webIntent); 
    } 
} 

Użycie innej odpowiedzi na to pytanie. Ta sama logika może być zastosowana do dowolnego celu, wystarczy dodać ciąg Time do URI, jak pokazano powyżej, bez względu na zamiar.

+0

Działa to po uruchomieniu wideo w przeglądarce. Muszę przetestować podczas korzystania z aplikacji YT. Dzięki – Alin

+0

dodano edycję, aby rozwinąć ją dla przyszłych użytkowników. –

+0

Dla mnie używanie metody 'vnd.youtube' na Androidzie 5 nie działa. Otwiera aplikację youtube, ale nie można załadować wideo. Jednak otwarcie z użyciem webIntent działa nawet po wybraniu z menu do otwarcia w aplikacji YouTube. – Alin