মিডিয়া কন্ট্রোলার পরীক্ষা অ্যাপ ব্যবহার করে

অ্যান্ড্রয়েড ফোন, গাড়ি, টিভি এবং হেডফোনে Google অ্যাসিস্ট্যান্টের সাথে ভয়েসের মাধ্যমে ইন্টারঅ্যাক্ট করা মিডিয়া অ্যাপগুলি অ্যান্ড্রয়েড মিডিয়া সেশন API দ্বারা চালিত এবং মিডিয়া অ্যাকশন ব্যবহার করে। মিডিয়া কর্ম জীবনচক্র অনুসরণ করা কঠিন হতে পারে. এমনকি অনুসন্ধান অনুরোধ থেকে একটি সাধারণ নাটকের অনেক মধ্যবর্তী পদক্ষেপ রয়েছে যেখানে কিছু ভুল হতে পারে, যেমন সরলীকৃত টাইমলাইনে দেখানো হয়েছে:

মিডিয়া অ্যাকশন জীবনচক্র

চিত্র 1. মিডিয়া অ্যাকশন জীবনচক্র

মিডিয়া কন্ট্রোলার টেস্ট (MCT) অ্যাপ আপনাকে Android-এ মিডিয়া প্লেব্যাকের জটিলতা পরীক্ষা করতে দেয় এবং আপনার মিডিয়া সেশন বাস্তবায়ন যাচাই করতে সাহায্য করে।

মিডিয়া কন্ট্রোলার টেস্ট অ্যাপ দুটি সংস্করণে উপলব্ধ:

  • ক্লায়েন্ট অ্যাপটি লিগ্যাসি MediaControllerCompat এর উপরে প্রয়োগ করা হয়েছে। এটি একটি লিগ্যাসি MediaSessionCompat বা Media3 MediaSession এর উপরে নির্মিত আপনার মিডিয়া সেশন অ্যাপটিকে পরীক্ষা করার অনুমতি দেয় যখন একটি লিগ্যাসি MediaControllerCompat এর মাধ্যমে একটি বহিরাগত অ্যাপ অ্যাক্সেস করা হয়। GitHub এ উত্তরাধিকার সংস্করণের উত্স কোড খুঁজুন।
  • ক্লায়েন্ট অ্যাপটি সাম্প্রতিক Media3 MediaController এর উপরে প্রয়োগ করা হয়েছে। এটি একটি Media3 MediaController এর মাধ্যমে একটি বহিরাগত অ্যাপ্লিকেশন দ্বারা অ্যাক্সেস করার সময় একটি উত্তরাধিকার MediaSessionCompat বা Media3 MediaSession এর উপরে নির্মিত আপনার মিডিয়া সেশন অ্যাপ্লিকেশনটিকে পরীক্ষা করার অনুমতি দেয়৷ GitHub এ Media3 সংস্করণের সোর্স কোড খুঁজুন।

MCT আপনার অ্যাপের MediaController সম্পর্কে তথ্য প্রকাশ করে, যেমন এর PlaybackState এবং মেটাডেটা, এবং ইন্টার-অ্যাপ মিডিয়া নিয়ন্ত্রণ পরীক্ষা করতে ব্যবহার করা যেতে পারে। এমসিটি একটি যাচাইকরণ পরীক্ষার কাঠামোও অন্তর্ভুক্ত করে যা আপনাকে আপনার QA পরীক্ষা স্বয়ংক্রিয় করতে দেয়।

MCT ব্যবহার করার জন্য, আপনার অ্যাপের একটি মিডিয়া ব্রাউজার পরিষেবা থাকতে হবে এবং আপনাকে অবশ্যই MCT-কে এটির সাথে সংযোগ করার অনুমতি দিতে হবে। আরও তথ্যের জন্য একটি মিডিয়া ব্রাউজার পরিষেবা তৈরি করা দেখুন।

MCT শুরু হচ্ছে

এমসিটি লঞ্চ পৃষ্ঠা
চিত্র 2. MCT লঞ্চ পৃষ্ঠা

আপনি যখন MCT চালু করবেন, তখন আপনি দুটি তালিকা দেখতে পাবেন:

  • সক্রিয় মিডিয়া সেশন - আপনি MCT চালু করার সময় এই তালিকাটি প্রাথমিকভাবে খালি থাকে এবং আপনি "কোনও মিডিয়া অ্যাপস পাওয়া যায়নি। সক্রিয় মিডিয়া সেশনগুলির জন্য স্ক্যান করার জন্য বিজ্ঞপ্তি শ্রোতার অনুমতি প্রয়োজন।" অনুমতি স্ক্রীনে যেতে এবং MCT-এর জন্য অনুমতি সক্ষম করতে সেটিংসে ক্লিক করুন।
  • MediaBrowserService Implementations - এই তালিকাটি এমন অ্যাপ দেখায় যেগুলি একটি মিডিয়া ব্রাউজার পরিষেবা বাস্তবায়ন করেছে। আপনি যদি একটি মিডিয়া ব্রাউজার পরিষেবা প্রয়োগ করে থাকেন, তাহলে আপনার অ্যাপটি এই তালিকায় উপস্থিত হবে, কিন্তু আপনি শুধুমাত্র MCT ব্যবহার করতে পারবেন যদি আপনি আপনার অ্যাপটিকে সমস্ত সংযোগ গ্রহণ করার জন্য কনফিগার করেন বা MCT-কে অনুমোদিত তালিকাভুক্ত করেন। আরও তথ্যের জন্য onGetRoot() এর সাথে ক্লায়েন্ট সংযোগ নিয়ন্ত্রণ করা দেখুন।

ম্যানুয়ালি একটি ফোন অ্যাপ পরীক্ষা করা হচ্ছে

আপনি MCT-কে আপনার অ্যাপের মিডিয়া ব্রাউজার পরিষেবার সাথে সংযোগ করার অনুমতি দিলে, আপনার অ্যাপটি মিডিয়া ব্রাউজার পরিষেবা তালিকা বাস্তবায়নের তালিকায় প্রদর্শিত হবে। সেখানে এটি খুঁজুন এবং ব্যাকগ্রাউন্ডে আপনার অ্যাপ শুরু করতে কন্ট্রোল এ ক্লিক করুন।

অন্যথায়, আপনাকে প্রথমে ব্যাকগ্রাউন্ডে আপনার অ্যাপটি নিজেই শুরু করতে হবে, তারপর সক্রিয় মিডিয়া সেশনের তালিকায় প্রদর্শিত হলে নিয়ন্ত্রণে ক্লিক করুন।

পরীক্ষার প্রস্তুতি এবং খেলা

যখন MCT আপনার অ্যাপ নিয়ন্ত্রণ করতে শুরু করে, তখন এটি অ্যাপের বর্তমান সেশনের মেটাডেটা প্রদর্শন করে: বর্তমানে নির্বাচিত মিডিয়া এবং সেশনটি পরিচালনা করার জন্য প্রস্তুত করা ক্রিয়া।

কন্ট্রোল পেজ
চিত্র 3. নিয়ন্ত্রণ পৃষ্ঠা

MCT নিয়ন্ত্রণ পৃষ্ঠার শীর্ষে একটি ড্রপ-ডাউন মেনু রয়েছে যেখানে আপনি অনুসন্ধান , URI , Media ID , বা None নির্বাচন করতে পারেন, একটি পাঠ্য ক্ষেত্র সহ অনুসন্ধান, URI, বা মিডিয়া আইডির সাথে যুক্ত ইনপুট ডেটা নির্দিষ্ট করতে যদি আপনি এই বিকল্পগুলির মধ্যে একটি নির্বাচন করেন।

টেক্সট ফিল্ডের ঠিক নীচে প্রস্তুত করুন এবং প্লে বোতামগুলি উপযুক্ত কলগুলি সম্পাদন করে ( onPrepare() , onPrepareFromSearch() , onPrepareFromUri() onPrepareFromMediaId() , onPlay() onPlayFromSearch() , onPlayFromUri() , onPlayFromMediaId() ) আপনি কিসের উপর নির্ভর করছেন নির্বাচিত

অডিও ফোকাস পরীক্ষা করা হচ্ছে

একটি ভাল আচরণ করা মিডিয়া অ্যাপ অডিও ফোকাস পরিচালনা করতে সক্ষম হওয়া উচিত। আপনি আপনার অ্যাপের পাশাপাশি অন্য একটি অডিও অ্যাপ চালিয়ে অডিও ফোকাস পরীক্ষা করতে পারেন। MCT নিয়ন্ত্রণ পৃষ্ঠায় একটি বোতাম রয়েছে যা অডিও ফোকাসের অনুরোধ করে এবং প্রকাশ করে।

অডিও ফোকাস পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. AUDIOFOCUS_GAIN , AUDIOFOCUS_GAIN_TRANSIENT , বা AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK তিনটি সময়কাল ইঙ্গিতগুলির মধ্যে একটি নির্বাচন করতে অডিও ফোকাস ড্রপ-ডাউন মেনু ব্যবহার করুন।
  2. ফোকাস অনুরোধ করতে বোতাম টিপুন.
  3. ফোকাস ছেড়ে দিতে আবার বোতাম টিপুন।

পরিবহন নিয়ন্ত্রণ পরীক্ষা করা হচ্ছে

পরিবহণ নিয়ন্ত্রণ পরীক্ষা করা
চিত্র 4. পরিবহন নিয়ন্ত্রণ পরীক্ষা করা

MCT এর UI ভিউ প্রদর্শন করতে বাম দিকে সোয়াইপ করুন। এই ভিউতে স্ট্যান্ডার্ড মিডিয়া কন্ট্রোলার ট্রান্সপোর্ট বোতাম রয়েছে এবং সেশনের প্রোগ্রাম ইমেজ এবং ডেটা দেখায়। অক্ষম করা পরিবহন বোতামগুলি কমলা রঙে চক্কর দেওয়া হয়৷ বাকিরা সবাই সক্রিয়।

পরিবহন বোতাম ব্যবহার করে আপনার প্লেয়ার পরীক্ষা করুন. পরিবহন বোতামের অবস্থা প্রত্যাশিত হিসাবে পরিবর্তন করা উচিত. উদাহরণস্বরূপ, যখন আপনি প্লে বোতাম টিপুন তখন এটি অক্ষম হয়ে যাবে এবং বিরতি এবং থামান বোতামগুলি সক্রিয় হয়ে যাবে৷

ঐচ্ছিক ক্রিয়া প্রদর্শন করে এমন একটি দৃশ্যের জন্য আবার বাম দিকে সোয়াইপ করুন। প্রতিটি কর্মের একটি নিয়ন্ত্রণ থাকে যা দেখায় যে এটি সক্রিয় কিনা। এটি সক্রিয় থাকলে, আপনি এটিতে ক্লিক করে কাজটি সম্পাদন করতে পারেন।

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

ম্যানুয়ালি একটি ভিডিও অ্যাপ পরীক্ষা করা হচ্ছে

ভিডিও অ্যাপ কন্ট্রোলার পরীক্ষা করতে স্প্লিট-স্ক্রিন মোড ব্যবহার করুন। প্রথমে, আপনার ভিডিও অ্যাপটি একটি উইন্ডোতে খুলুন এবং তারপরে স্প্লিট-স্ক্রিন মোডে MCT খুলুন।

যাচাইকরণ পরীক্ষা চলছে

যাচাইকরণ পরীক্ষার কাঠামোটি এক-ক্লিক পরীক্ষাগুলি অফার করে যা আপনি নিশ্চিত করতে চালাতে পারেন যে আপনার মিডিয়া অ্যাপটি প্লেব্যাকের অনুরোধে সঠিকভাবে সাড়া দেয়।

একটি ফোন অ্যাপ পরীক্ষা করা হচ্ছে

টেস্ট বোতাম
চিত্র 5. টেস্ট বোতাম

যাচাইকরণ পরীক্ষাগুলি অ্যাক্সেস করতে, আপনার মিডিয়া অ্যাপের পাশে পরীক্ষা বোতামে ক্লিক করুন।

এমসিটি রাজ্য

মিডিয়া কন্ট্রোল স্টেট
চিত্র 6. মিডিয়া কন্ট্রোল স্টেট

পরবর্তী ভিউ আপনাকে MCT এর MediaController সম্পর্কে বিস্তারিত তথ্য দেখায়, উদাহরণস্বরূপ PlaybackState , মেটাডেটা এবং সারি। টুলবারের উপরের ডানদিকে দুটি বোতাম রয়েছে। বাম দিকের বোতামটি পার্সেবল এবং ফরম্যাট করা লগগুলির মধ্যে টগল করে। ডানদিকের বোতামটি সর্বাধিক বর্তমান তথ্য প্রদর্শন করতে ভিউটিকে রিফ্রেশ করে।

একটি পরীক্ষা নির্বাচন

টেস্ট সিলেকশন পেজ
চিত্র 7. পরীক্ষা নির্বাচন পৃষ্ঠা

বাম দিকে সোয়াইপ করার মাধ্যমে, আপনি যাচাইকরণ পরীক্ষার দৃশ্যে পৌঁছান, যেখানে আপনি উপলব্ধ পরীক্ষার একটি স্ক্রোলযোগ্য তালিকা দেখতে পাবেন। যদি একটি পরীক্ষা একটি ক্যোয়ারী ব্যবহার করে, যেমন চিত্র 7-এ দেখানো অনুসন্ধান পরীক্ষা থেকে খেলা, ক্যোয়ারী স্ট্রিং প্রবেশ করার জন্য একটি পাঠ্য ক্ষেত্র রয়েছে।

এমসিটি নিম্নলিখিত মিডিয়া অ্যাকশনগুলির জন্য পরীক্ষাগুলি অন্তর্ভুক্ত করে এবং আরও পরীক্ষাগুলি ক্রমাগত প্রকল্পে যুক্ত করা হয়:

  • খেলা
  • অনুসন্ধান থেকে খেলুন
  • মিডিয়া আইডি থেকে খেলুন
  • URI থেকে খেলুন
  • বিরতি
  • থামো
  • এড়িয়ে যান পরবর্তীতে
  • এড়িয়ে যান পূর্ববর্তীতে
  • সারিতে আইটেম এড়িয়ে যান
  • সন্ধান করুন

পরীক্ষার ফলাফল

একটি সফল পরীক্ষার ফলাফল
চিত্র 8. একটি সফল পরীক্ষার ফলাফল

দৃশ্যের নীচে ফলাফলের এলাকা প্রাথমিকভাবে খালি। আপনি একটি পরীক্ষা চালালে এটি ফলাফল দেখাবে। উদাহরণস্বরূপ, অনুসন্ধান পরীক্ষা থেকে নাটকটি চালানোর জন্য, পাঠ্য ক্ষেত্রে একটি অনুসন্ধান ক্যোয়ারী লিখুন এবং রান টেস্টে ক্লিক করুন। নিম্নলিখিত স্ক্রিনশট একটি সফল পরীক্ষার ফলাফল দেখায়।

একটি Android TV অ্যাপ পরীক্ষা করা হচ্ছে

আপনি যখন Android TV-তে MCT চালু করেন, তখন আপনি ইনস্টল করা মিডিয়া অ্যাপগুলির একটি তালিকা দেখতে পান। মনে রাখবেন যে একটি অ্যাপ শুধুমাত্র এই তালিকায় উপস্থিত হবে যদি এটি একটি মিডিয়া ব্রাউজার পরিষেবা প্রয়োগ করে।

টিভিতে MCT লঞ্চ পৃষ্ঠা

চিত্র 9. টিভিতে MCT লঞ্চ পৃষ্ঠা

একটি অ্যাপ নির্বাচন করা আপনাকে টেস্টিং স্ক্রিনে নিয়ে যায়, যা ডানদিকে যাচাইকরণ পরীক্ষার একটি তালিকা প্রদর্শন করে।

টিভিতে যাচাইকরণ পরীক্ষা পৃষ্ঠা

চিত্র 10. টিভিতে যাচাইকরণ পরীক্ষা পৃষ্ঠা

আপনি যখন একটি পরীক্ষা চালান, তখন স্ক্রিনের বাম দিকে নির্বাচিত মিডিয়াকন্ট্রোলার সম্পর্কে তথ্য প্রদর্শন করে। আরও বিশদ বিবরণের জন্য, Logcat-এ MCT লগগুলি দেখুন৷

টিভিতে টেস্ট ইনফরমেশন পেজ

চিত্র 11. টিভিতে টেস্ট তথ্য পৃষ্ঠা

যে পরীক্ষাগুলির জন্য একটি প্রশ্ন প্রয়োজন সেগুলি একটি কীবোর্ড আইকন দিয়ে চিহ্নিত করা হয়৷ এই পরীক্ষাগুলির একটিতে ক্লিক করা প্রশ্নের জন্য একটি ইনপুট ক্ষেত্র খোলে। পরীক্ষা চালানোর জন্য এন্টার ক্লিক করুন।

টেক্সট ইনপুট সহজ করতে, আপনি একটি adb কমান্ড ব্যবহার করতে পারেন:

adb shell input text your-query

আপনি শব্দগুলির মধ্যে একটি স্থান যোগ করতে "%s" ব্যবহার করতে পারেন৷ উদাহরণস্বরূপ, নিম্নলিখিত কমান্ডটি ইনপুট ক্ষেত্রে "হ্যালো ওয়ার্ল্ড" টেক্সট যোগ করে।

adb shell input text hello%sworld

একটি পরীক্ষা নির্মাণ

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

অনুগ্রহ করে অবদানের নির্দেশাবলী পর্যালোচনা করুন।

অতিরিক্ত সম্পদ

MCT-এর অর্থ হল মিডিয়া APIs প্রয়োগ করে এমন অ্যাপগুলির সাথে একত্রে ব্যবহার করা। এই ধরনের একটি অ্যাপের উদাহরণের জন্য ইউনিভার্সাল অ্যান্ড্রয়েড মিউজিক প্লেয়ার দেখুন।

বাগ সংশোধন এবং উন্নতি সবসময় স্বাগত জানাই. অনুগ্রহ করে অবদান নির্দেশাবলী দেখুন.