কোনও ইউটিউব ভিডিও খেলা শেষ হলে কীভাবে সনাক্ত করবেন?


94

আমি এমন একটি সাইটে কাজ করছি যার মধ্যে এক টন এম্বেড থাকা ইউটিউব ভিডিও রয়েছে, ক্লায়েন্ট যখনই কোনও ভিডিও স্প্লিং বন্ধ করে দেয় তখন পপআপ দেখাতে চায়।

আমি ইউটিউব এপিআইয়ের দিকে চেয়েছিলাম এবং মনে হয় কোনও ভিডিও শেষ হলে এটি সনাক্ত করার একটি উপায় রয়েছে:

http://code.google.com/apis/youtube/js_api_references.html

তবে আমি সেই পৃষ্ঠাটিতে উল্লিখিত ভিডিওগুলি এম্বেড করতে পারছি না কারণ ভিডিওগুলি ইতিমধ্যে সাইটে রয়েছে (এম্বেড কোডটি পেস্ট করে হাজারে ম্যানুয়ালি যোগ করা হয়েছে)।

বিদ্যমান ভিডিওগুলির কোনও পরিবর্তন না করে (জাভাস্ক্রিপ্ট ব্যবহার করে) এই ভিডিওগুলির সমাপ্তি সনাক্ত করার কোনও উপায় আছে?


4
কেবলমাত্র আমি যা বলতে পারি তা হ'ল প্রোগ্রামগতভাবে অন্তর্ভুক্ত করার জন্য এম্বেড এন্ট্রি পরিবর্তন করা enablejsapi=1। যদি তারা কোনও ডাটাবেসে থাকে তবে srcবৈশিষ্ট্যটি পরিবর্তন করা মোটামুটি সহজ হওয়া উচিত । যদি আপনার স্ট্যাটিকালি এইচটিএমএল ফাইলগুলিতে প্রবেশ করা হয় তবে আপনার কিছু রেইগেক্সের প্রয়োজন হতে পারে।
ডাউনলোড করুন

উত্তর:


176

এটি ইউটিউব প্লেয়ার এপিআই এর মাধ্যমে করা যেতে পারে:

http://jsfiddle.net/7Gznb/

কাজের উদাহরণ:

    <div id="player"></div>

    <script src="http://www.youtube.com/player_api"></script>

    <script>

        // create youtube player
        var player;
        function onYouTubePlayerAPIReady() {
            player = new YT.Player('player', {
              width: '640',
              height: '390',
              videoId: '0Bmhjf0rKe8',
              events: {
                onReady: onPlayerReady,
                onStateChange: onPlayerStateChange
              }
            });
        }

        // autoplay video
        function onPlayerReady(event) {
            event.target.playVideo();
        }

        // when video ends
        function onPlayerStateChange(event) {        
            if(event.data === 0) {          
                alert('done');
            }
        }

    </script>

4
আপনি কীভাবে এক পৃষ্ঠায় একাধিক ভিডিওর সাথে এটি সংহত করেছিলেন?
motoxer4533

@ motoxer4533 ভাল আমি একই পৃষ্ঠায় একাধিক ভিডিও সঙ্গে ডিল করতে হবে না কিন্তু প্রতি পৃষ্ঠায় শুধুমাত্র একটি। নিশ্চিত নয় যে এআইপিএল একাধিক প্লেয়ার তৈরি করতে এবং তাদের স্বতন্ত্র এন্ডপয়েন্টগুলি সনাক্ত করতে দেয় কিনা।
TK123

4
একাধিক খেলোয়াড়ের জন্য সেটআপ করা শক্ত হওয়া উচিত নয় - কেবল একাধিক ভের প্লেয়ার 1, ভের প্লেয়ার 2, ভের প্লেয়ার 3 ইত্যাদি সেটআপ
কোডগুলি

এছাড়াও এখানে iframe এপিআই ব্যবহার করে অনুরূপ কিছু করার একটি সম্পূর্ণ উদাহরণ এখানে ডেভেলপারস
google.com/youtube/…

4
পঠনযোগ্যতার জন্য, আমি রাজ্য পরীক্ষা করার সময় YT.PlayerState.ENDED কে পরামর্শ দিই।
বার্ট বার্গ

-7

আপনি যা করতে চাইতে পারেন তা হ'ল সমস্ত পৃষ্ঠায় একটি স্ক্রিপ্ট অন্তর্ভুক্ত করা যা নিম্নলিখিতটি করে ... 1. ইউটিউব-আইফ্রেমে সন্ধান করুন: শিরোনাম অনুসারে প্রস্থ এবং উচ্চতা অনুসারে এটি অনুসন্ধান করুন বা এর উত্সে www.youtube.com সন্ধান করুন। আপনি এটি দ্বারা এটি করতে পারেন ... - একটি ইন-লুপ দ্বারা উইন্ডো.ফ্রেমগুলি লুপ করে এবং তারপরে বৈশিষ্ট্যগুলি দ্বারা ফিল্টার আউট

  1. YoutubePlayerReady- এ যুক্ত করা আবশ্যক বর্তমান পৃষ্ঠার iframe এ jscript ইনজেক্ট করুন http://shazwazza.com/post/Injecting- জাভা স্ক্রিপ্ট- ইনটো- অন্য- ফ্রেমস.এএসপিএক্স

  2. ইভেন্ট শ্রোতা ইত্যাদি যোগ করুন।

আশাকরি এটা সাহায্য করবে


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