আমার অ্যান্ড্রয়েড অ্যাপ্লিকেশনটিতে ইউটিউব ভিডিও কীভাবে প্লে করবেন?


84

আমি কীভাবে YouTubeআমার অ্যাপ্লিকেশনটিতে ভিডিও প্লে করব? আমি play videoএটি ডাউনলোড না করে সরাসরি ইউটিউব থেকে স্ট্রিমিং করে যেতে চাই । এছাড়াও, ভিডিও খেলার সময়, আমি মেনু বিকল্পগুলি সরবরাহ করতে চাই। আমি ডিফল্ট উদ্দেশ্য ব্যবহার করে ভিডিও খেলতে চাই না। কিভাবে আমি এটি করতে পারব?



4
তার ঠিক 2 মিনিট কাজ, বিকাশকারী কনসোলের, ডাউনলোড YouTube প্লেয়ার বয়াম ফাইল থেকে ইউটিউব বিকল্পটি সক্ষম এটা ব্যবহার শুরু করি, তখন এর সহজ পোস্টটি পড়ুন feelzdroid.com/2017/01/...
ছেলে

উত্তর:


59

এটি বিটিএন ক্লিক ইভেন্ট

btnvideo.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

    startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.youtube.com/watch?v=Hxy8BZGQ5Jo")));
    Log.i("Video", "Video Playing....");

    }
}); 

এই ধরণের এটি ইউটিউবের সাথে অন্য পৃষ্ঠায় খোলে যেখানে আপনি আপনার ভিডিওটি দেখাতে পারেন


4
এটি ইউটিউব আপনের উপর নির্ভর করে, অন্যথায় এটি ভিডিওটি নতুন ওয়েবভিউতে খোলে, আমি ভিডিওভিউতে ভিডিওটি দেখতে চাই না ওয়েবভিউতে নয় .. কিছু উপায়ের পরামর্শ দেওয়ার চেয়ে প্লিজ।
আবিদ এ। চৌধুরী চৌধুরী

4
VideoViewভিডিওটির নিখুঁত URL দরকার, যা ইউটিউবের ক্ষেত্রে সম্ভবত উপলভ্য নয়।
আমান আলম

4
যে কোনও অনুলিপি এবং যাজকদের কাছে যদি আপনি বিভ্রান্ত হন যে এটি কেন কাজ করে না তবে নতুন ইনটেন্টে একটি জায়গা থাকা উচিত। নতুন অভিপ্রায়
অরহানসি 1

10
প্রশ্নটি এইটিকে পছন্দ করে "আমি ডিফল্ট অভিপ্রায় ব্যবহার করে ভিডিও খেলতে চাই না।"
নরেশ

18

পদক্ষেপ

  1. মেনু অপশন সহ আপনার প্লেয়ারের (পূর্ণস্ক্রিন) স্ক্রিনের জন্য একটি নতুন ক্রিয়াকলাপ তৈরি করুন। বিভিন্ন থ্রেডে মিডিয়াপ্লেয়ার এবং ইউআই চালান।

  2. মিডিয়া প্লে করার জন্য - অডিও / ভিডিও প্লে করতে সাধারণভাবে অ্যান্ড্রয়েডে মিডিয়াপ্লেয়ার এপিআই থাকে। FILE_PATH হ'ল ফাইলের পথ - url (ইউটিউব) প্রবাহ বা স্থানীয় ফাইলের পথ হতে পারে

     MediaPlayer mp = new MediaPlayer();
        mp.setDataSource(FILE_PATH);
        mp.prepare();
        mp.start();
    

এছাড়াও চেক করুন: অ্যান্ড্রয়েড ইউটিউব অ্যাপ্লিকেশন প্লে ভিডিও ইন্টেন্ট ইতিমধ্যে এ সম্পর্কে বিস্তারিত আলোচনা করেছে।


8
FILE_PATH কীভাবে কোনও ইউটিউব ভিডিওতে নির্দেশ করতে পারে? একটি ইউটিউব লিঙ্ক করে এমন একটি ওয়েব পৃষ্ঠায় যা ভিডিওটি চালায়, এটি ফাইলের কোনও লিঙ্ক নয়।
মার্টি মিলার

4
ইউটিউবের কোনও নিখুঁত url নেই। ওপিতে এটিই ছিল মূল উদ্বেগ।
নুব

4
ইউটিউব থেকে মার্টিমিলার স্ট্রিম ইউরাল পাওয়া আলাদা প্রশ্ন question এটি ইউটিউব এপিআইয়ের সাথে উদ্বেগজনক।
নরেশ

12

ইউটিউব অ্যান্ড্রয়েড প্লেয়ার এপিআই ব্যবহার করুন।

কার্যকলাপ_মাইন.এক্সএমএল:

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"

tools:context="com.example.andreaskonstantakos.vfy.MainActivity">

<com.google.android.youtube.player.YouTubePlayerView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:visibility="visible"
    android:layout_centerHorizontal="true"
    android:id="@+id/youtube_player"
    android:layout_alignParentTop="true" />

<Button
android:text="Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="195dp"
android:visibility="visible"
android:id="@+id/button" />


</RelativeLayout>

মেইনএ্যাকটিভিটি.জভা:

package com.example.andreaskonstantakos.vfy;


import android.os.Bundle;
import android.view.View;
import android.widget.Button;
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;



public class MainActivity extends YouTubeBaseActivity {

YouTubePlayerView youTubePlayerView;
Button button;
YouTubePlayer.OnInitializedListener onInitializedListener;

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

     youTubePlayerView = (YouTubePlayerView) findViewById(R.id.youtube_player);
     button = (Button) findViewById(R.id.button);


     onInitializedListener = new YouTubePlayer.OnInitializedListener(){

         @Override
         public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {

            youTubePlayer.loadVideo("Hce74cEAAaE");

             youTubePlayer.play();
     }

         @Override
         public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {

         }
     };

    button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

youTubePlayerView.initialize(PlayerConfig.API_KEY,onInitializedListener);
        }
    });
}
}

এবং প্লেয়ার কনফিগ.জভা ক্লাস:

    package com.example.andreaskonstantakos.vfy;

/**
 * Created by Andreas Konstantakos on 13/4/2017.
 */

public class PlayerConfig {

PlayerConfig(){}

public static final String API_KEY = 
"xxxxx";
}

Https://www.youtube.com/watch?v=Hce74cEAAaE থেকে আপনার ভিডিও আইডি দিয়ে "Hce74cEAAaE" প্রতিস্থাপন করুন । কনসোল.ডিভেলভারস ডটকম থেকে আপনার এপিআই_কেই পান এবং এটিকে প্লেয়ারকনফিগ.এপিআই_কেইতে প্রতিস্থাপন করুন। আরও তথ্যের জন্য আপনি নিম্নলিখিত টিউটোরিয়ালটি ধাপে ধাপে অনুসরণ করতে পারেন: https://www.youtube.com/watch?v=3LiubyYpEUk


যদি আমি ডায়নামিক ভিডিও-আইডি ব্যবহার করতে চাই তবে আমি "ইউটিউবঅ্যান্ড্রয়েডপ্লেয়ারপিআই: এম্বেড কনফিগারেশন রিমোটই এম্বেডডপ্লেয়ারে সমর্থিত নয়।" ত্রুটি এবং এটি আমার ভিডিও খেলছে না। আপনি কি আমাকে সাহায্য করতে পারেন ... অগ্রিম ধন্যবাদ
amit পান্ড্যা

youTubePlayerView.initialize উপস্থিত নেই, সম্ভবত সরানো হয়েছে?
আলবার্তো এম

6

আমি ইউটিউব অ্যাপটি ডিভাইসে উপস্থিত থাকতে চাইনি তাই আমি এই টিউটোরিয়ালটি ব্যবহার করেছি:

http://www.viralandroid.com/2015/09/how-to-e એમ્બેડ-youtube-video-in-android-webview.html

... আমার অ্যাপে এই কোডটি তৈরি করতে:

WebView mWebView; 

@Override
public void onCreate(Bundle savedInstanceState) {
    setContentView(R.layout.video_webview);
    mWebView=(WebView)findViewById(R.id.videoview);

    //build your own src link with your video ID
    String videoStr = "<html><body>Promo video<br><iframe width=\"420\" height=\"315\" src=\"https://www.youtube.com/embed/47yJ2XCRLZs\" frameborder=\"0\" allowfullscreen></iframe></body></html>";

    mWebView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
                return false;
        }
    });
    WebSettings ws = mWebView.getSettings();
    ws.setJavaScriptEnabled(true);
    mWebView.loadData(videoStr, "text/html", "utf-8");

}

//video_webview
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginLeft="0dp"
    android:layout_marginRight="0dp"
    android:background="#000000"
    android:id="@+id/bmp_programme_ll"
    android:orientation="vertical" >

   <WebView
    android:id="@+id/videoview" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />  
</LinearLayout>     

এটি ঠিক কীভাবে আমি এটি চেয়েছিলাম তা কাজ করে। এটি অটোপ্লে করে না তবে ভিডিওটি আমার অ্যাপ্লিকেশানের মধ্যে প্রবাহিত হয়। এম্বেড করা অবস্থায় কিছু সীমাবদ্ধ ভিডিও প্লে হবে না তা উল্লেখযোগ্য।


4
হ্যাঁ আপনি ঠিকই ইউটিউব ছাড়াই ওয়েব ভিউয়ের সাথে আপনার অ্যাপ্লিকেশনটি এম্বেড করেছেন অ্যাপ্লিকেশনটির মধ্যে ভিডিও লোড করার দুর্দান্ত উপায় আপনাকে ধন্যবাদ জানব
অজয় পান্ড্য

দুর্দান্ত সহজ সমাধান যার জন্য ইউটিউব অ্যান্ড্রয়েড প্লেয়ার এপিআই এর মতো একটি এপি কী-তে সাইন আপ করার প্রয়োজন নেই । আমার জন্য কাজ!
মাইকেল ওসোফস্কি

3

আপনি https://developers.google.com/youtube/iframe_api_references হিসাবে বর্ণিত হিসাবে iframe ব্যবহার করতে পারেন

আমি গুগল ঠিক পরামর্শ দিচ্ছি না তবে আমি ব্যবহার করছি এই কোডটি এবং এটি ভাল কাজ করছে

public class CWebVideoView {

    private String url;
    private Context context;
    private WebView webview;
    private static final String HTML_TEMPLATE = "webvideo.html";

    public CWebVideoView(Context context, WebView webview) {
        this.webview = webview;
        this.context = context;
        webview.setBackgroundColor(0);
        webview.getSettings().setJavaScriptEnabled(true);
    }

    public void load(String url){
        this.url = url;
        String data = readFromfile(HTML_TEMPLATE, context);
        data = data.replace("%1", url);
        webview.loadData(data, "text/html", "UTF-8");
    }

    public String readFromfile(String fileName, Context context) {
        StringBuilder returnString = new StringBuilder();
        InputStream fIn = null;
        InputStreamReader isr = null;
        BufferedReader input = null;
        try {
            fIn = context.getResources().getAssets().open(fileName, Context.MODE_WORLD_READABLE);
            isr = new InputStreamReader(fIn);
            input = new BufferedReader(isr);
            String line = "";
            while ((line = input.readLine()) != null) {
                returnString.append(line);
            }
        } catch (Exception e) {
            e.getMessage();
        } finally {
            try {
                if (isr != null)
                    isr.close();
                if (fIn != null)
                    fIn.close();
                if (input != null)
                    input.close();
            } catch (Exception e2) {
                e2.getMessage();
            }
        }
        return returnString.toString();
    }

    public void reload() {
        if (url!=null){
            load(url);
        }
    }
}

ইনসেটস / এ্যাসেটে আমার কাছে ওয়েবভাইডো এইচটিএমএল নামে একটি ফাইল আছে

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <style>
            iframe   { border: 0; position:fixed; width:100%; height:100%; bgcolor="#000000"; }
            body     { margin: 0; bgcolor="#000000"; }
        </style>        
    </head>
    <body>
        <iframe src="%1" frameborder="0" allowfullscreen></iframe>
    </body>
</html>

এবং এখন আমি আমার মূল বিন্যাসের ভিতরে একটি ওয়েবভিউ সংজ্ঞায়িত করি

<WebView
    android:id="@+id/video"
    android:visibility="gone"
    android:background="#000000"
    android:layout_centerInParent="true"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

এবং আমি আমার ক্রিয়াকলাপের অভ্যন্তরে CWebVideoView ব্যবহার করি

videoView = (WebView) view.findViewById(R.id.video);
videoView.setVisibility(View.VISIBLE);
cWebVideoView = new CWebVideoView(context, videoView);
cWebVideoView.load(url);

আপনার উত্তরের জন্য ধন্যবাদ. আপনি কি স্ক্রিনশট রাখতে পারেন যাতে আমরা কোডের ফলাফলটিও দেখতে পারি?
সা Saeedদ জাসানী 14

2

এই উত্তরটি সত্যিই দেরিতে হতে পারে তবে এটি দরকারী।

আপনি নিজেই অ্যান্ড্রয়েড-ইউটিউব-প্লেয়ার ব্যবহার করে অ্যাপে ইউটিউব ভিডিও খেলতে পারেন ।

কিছু কোড স্নিপেটস:

ইউআরএলতে একটি ভিডিও আইডি রয়েছে এমন একটি ইউটিউব ভিডিও প্লে করতে, আপনি কেবল OpenYouTubePlayerActivityউদ্দেশ্যটি কল করেন

Intent intent = new Intent(null, Uri.parse("ytv://"+v), this, 
            OpenYouTubePlayerActivity.class);
startActivity(intent);

যেখানে ভি ভিডিও আইডি।

ম্যানিফেস্ট ফাইলটিতে নিম্নলিখিত অনুমতিগুলি যুক্ত করুন:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

এবং এই ক্রিয়াকলাপটিকে ম্যানিফেস্ট ফাইলটিতে ঘোষণা করুন:

<activity 
        android:name="com.keyes.youtube.OpenYouTubePlayerActivity"></activity>

এই কোড ফাইলের প্রথম অংশ থেকে আরও তথ্য পাওয়া যাবে ।

আশা করি যে কাউকে সাহায্য করবে!


2

গুগলের একটি ইউটিউব অ্যান্ড্রয়েড প্লেয়ার এপিআই রয়েছে যা আপনাকে আপনার অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলিতে ভিডিও প্লেব্যাক কার্যকারিতা অন্তর্ভুক্ত করতে সক্ষম করে। এপিআই নিজেই ব্যবহার করা খুব সহজ এবং ভালভাবে কাজ করে। উদাহরণস্বরূপ, এপিআই ব্যবহার করে কীভাবে একটি ভিডিও চালাতে একটি নতুন ক্রিয়াকলাপ তৈরি করবেন তা এখানে।

Intent intent = YouTubeStandalonePlayer.createVideoIntent(this, "<<YOUTUBE_API_KEY>>", "<<Youtube Video ID>>", 0, true, false);   
startActivity(intent);

দেখুন এই আরো বিস্তারিত জানার জন্য।


1

আপনি আপনার অ্যান্ড্রয়েড অ্যাপে যে কোনও টিউব ভিডিও খেলতে এই প্রকল্পটি ব্যবহার করতে পারেন । এখন অন্য ভিডিও বা ভিডিও আইডি ... আপনি এই https://gdata.youtube.com/feeds/api/users/eminemvevo/uploads/ যেখানে এমিনেমভেভো = চ্যানেলটি করতে পারেন ।

ভিডিও আইডি সন্ধানের পরে আপনি সেই আইডিটি ভিতরে রাখতে পারেন cueVideo("video_id")

src -> com -> examples -> youtubeapidemo -> PlayerViewDemoActivity

  @Override
  public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player , boolean wasRestored) {
    if (!wasRestored) {
      player.cueVideo("wKJ9KzGQq0w");
    }
  }

আর বিশেষভাবে একটি ভাল উপায় যে VIDEO_ID পড়ার জন্য খুলতে একটি XML [হিসাবে এই, এবং এটি 1st_fileআপনার ডেস্কটপে মধ্যে] ফাইলকে একটি নতুন তৈরি পর XML ফাইল আপনার projectবা যে [আপলোড 1st_fileআপনার প্রকল্পের মধ্যে] সংরক্ষণ করা ফাইল, এবং এটি right_click, এবং এটি এক্সএমএল_এডিটর ফাইল দিয়ে খুলুন, এখানে আপনি নির্দিষ্ট ভিডিওর আইডি পাবেন।

এখানে চিত্র বর্ণনা লিখুন



-6
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watchv=cxLG2wtE7TM"));
startActivity(intent);

সত্যি? "আমি ডিফল্ট উদ্দেশ্য ব্যবহার করে ভিডিও খেলতে চাই না" "দ্বিতীয় থেকে শেষ লাইনের।
স্কুইরেল্কিলার

এটি কেবল বিদ্যমান বিদ্যমান উত্তরের পুনরাবৃত্তি ।
পাইং
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.