2012-02-18 38 views
10

Chúng tôi có thể xem video trên youtube trong ứng dụng Android không? Ý tôi là nếu chúng tôi có liên kết tới video trên youtube, chúng tôi có thể phát video đó trong VideoView hoặc tiện ích khác không? Bất kỳ ý tưởng nào về nó?Cách nhúng và phát video YouTube trong android

+0

Các bạn đã thử một google tìm kiếm ít nhất? Bản sao có thể có của http://stackoverflow.com/a/5798922/782719 – GETah

+10

Tôi không cần mở video trong một ứng dụng khác. Tôi muốn chơi nó trong ứng dụng của tôi. – user1021984

+0

Nó rất đơn giản, cho phép API Youtube trong bảng điều khiển dành cho nhà phát triển, tải xuống tệp trình phát của trình phát youtube và bao gồm nó. Tham khảo ví dụ này http://www.feelzdroid.com/2017/01/embed-youtube-video-player-android-app-example.html – Naruto

Trả lời

0

có một quan chức YouTube Android API trình Mà bạn có thể sử dụng. Điều này phức tạp hơn một chút nhưng nó hoạt động tốt hơn các giải pháp khác bằng cách sử dụng webclients.

Trước tiên, bạn phải đăng ký ứng dụng của mình trong Bảng điều khiển API Google. Điều này là hoàn toàn miễn phí cho đến khi ứng dụng của bạn nhận được hơn 25k yêu cầu một tháng (hoặc một cái gì đó như thế). Có một hướng dẫn tuyệt vời anf dưới liên kết. Tôi hy vọng bạn có thể hiểu chúng. Nếu không, hãy hỏi! :)

4

Trước tiên, bạn nên cố gắng để tải về thư viện máy nghe nhạc Youtube dành cho Android từ liên kết dưới đây:

Youtube Android Player

Trước tiên, bạn nên cài đặt nó như thế này: Dự án -> menu: File> Cấu trúc> Dependencies tab> Add -> thư viện phụ thuộc

nếu nó không hoạt động, hãy thử một trong hai:

Thêm sự phụ thuộc của thư viện bên trong phụ thuộc bên trong tập tin build.gradle của thư viện ur sử dụng, và dán thư viện ur vào Thư viện bên ngoài.

HOẶC

Just Go vào thư mục libs của bạn bên trong thư mục ứng dụng và dán tất cả .jar ví dụ như các file thư viện của bạn có Bây giờ thủ thuật ở đây là bây giờ đi vào trong tập tin settings.gradle bây giờ thêm dòng này bao gồm ': ứng dụng: libs 'after include': app 'Nó chắc chắn sẽ hoạt động.

Sau đó, bạn nên có một bố cục như thế này:

<com.google.android.youtube.player.YouTubePlayerView 
    android:id="@+id/player_view" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"/> 

Và bạn có thể có một hoạt động máy nghe nhạc như thế này:

import android.os.Bundle; 
import android.util.Log; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
import android.widget.Toast; 
import com.google.android.youtube.player.YouTubeBaseActivity; 
import com.google.android.youtube.player.YouTubeInitializationResult; 
import com.google.android.youtube.player.YouTubePlayer; 
import com.google.android.youtube.player.YouTubePlayerView; 
import com.google.api.client.http.HttpRequest; 
import com.google.api.client.http.HttpRequestInitializer; 
import com.google.api.client.http.javanet.NetHttpTransport; 
import com.google.api.client.json.jackson2.JacksonFactory; 
import com.google.api.services.youtube.YouTube; 
import java.io.IOException; 

public class YoutubeActivity extends YouTubeBaseActivity{ 

    private YouTubePlayerView playerView; 
    private YouTube youtube; 

    @Override 
    protected void onCreate(Bundle bundle) { 
     super.onCreate(bundle); 

     setContentView(R.layout.activity_youtube); 

     youtube = new YouTube.Builder(new NetHttpTransport(), 
       new JacksonFactory(), new HttpRequestInitializer() { 
      @Override 
      public void initialize(HttpRequest hr) throws IOException {} 
     }).setApplicationName(this.getString(R.string.app_name)).build(); 


     playerView = (YouTubePlayerView)findViewById(R.id.player_view); 
     playerView.initialize("Your API Key", new YouTubePlayer.OnInitializedListener() { 
      @Override 
      public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) { 
       if(!b){ 
        String videoId = getIntent().getExtras().getString("videoID"); 
        youTubePlayer.cueVideo(videoId); 
       } 
      } 

      @Override 
      public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) { 
       Toast.makeText(getApplicationContext(), getString(R.string.failed), Toast.LENGTH_LONG).show(); 
      } 
     }); 
    } 

} 
+2

đây phải là câu trả lời được chấp nhận –

1

Bạn có thể sử dụng webview để làm như vậy. Dưới đây là ảnh chụp màn hình của những gì nó trông giống như với webview: -

YouTube with webview

nếu điều này là những gì bạn muốn đạt được, bạn có thể có được ứng dụng mẫu từ đây: - https://github.com/hiteshsahu/Android-Universal-Web-Content-Loader

Nó hỗ trợ cả hai bức chân dung & chế độ ngang.

0

có thể tích hợp video youtube sử dụng youtube sdk

với youtube SDK bạn có thể có nhiều lựa chọn trong khi tích hợp video

để biết thêm http://www.androidcoding.in/2017/12/17/android-play-youtube-video-play-youtube-video-app/

private final class StateChangeListener implements YouTubePlayer.PlayerStateChangeListener { 

@Override 
public void onLoading() { 
} 

@Override 
public void onLoaded(String s) { 
    } 

    @Override 
    public void onAdStarted() { 
    } 

    @Override 
    public void onVideoStarted() { 
    } 

    @Override 
    public void onVideoEnded() { 
    } 

    @Override 
    public void onError(YouTubePlayer.ErrorReason errorReason) { 
     } 
     } 
Các vấn đề liên quan