AVPlayer এবং MPMoviePlayerController পার্থক্য [বন্ধ]


87

আমি একটি আইফোন অ্যাপ্লিকেশন বিকাশ করছি যা ভিডিও প্লে করা প্রয়োজন। এখনও অবধি, আমি শিখেছি যে এটি অর্জনের জন্য কমপক্ষে দুটি এপিআই রয়েছে; AVPlayerএবং MPMoviePlayerController

মূল পার্থক্য কি কি?


4
এটি মতামত ভিত্তিক উত্তর উত্পন্ন করছে না তা নিশ্চিত করার জন্য এই প্রশ্নটির উচ্চারণের চেষ্টা করেছেন।
পর্যন্ত

উত্তর:


173

উল্লেখ্য iOS9 হিসাবে অ্যাপল MPMoviePlayerController অবচিত হয়েছে:

আইপিএস 9-এ এমপিএমভিয়েপ্লেয়ারকন্ট্রোলার ক্লাসটি আনুষ্ঠানিকভাবে হ্রাস পেয়েছে (

MPMoviePlayerController রেফারেন্স থেকে অনুলিপি করা হয়েছে ।

এভিপ্লেয়ার

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

AVPlayerওভারের একটি বড় সুবিধা MPMoviePlayerControllerউদাহরণস্বরূপ এর বর্ধিত সংস্করণ হবে AVQueuePlayerকারণ এটি একাধিক চলচ্চিত্র উত্সের ফাঁকবিহীন প্লেব্যাক করতে সক্ষম। আরেকটি সুবিধা অবশ্যই বৈশিষ্ট্য সমৃদ্ধ AVFoundationকাঠামো যা আপনাকে ফ্লাই সিনেমার রচনা / এনকোডিং / রূপান্তরকরণের মতো কাজ করতে দেয় do

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

এমপিমোভিপ্লেয়ারকন্ট্রোলার

MPMoviePlayerControllerব্যবহার করা সহজ এবং বাক্সের বাইরে বেশিরভাগ প্রয়োজনীয়তা কভার করে। এই এপিআই ব্যবহার করা আপনাকে ভাল চেহারা এবং সাধারণত বোঝা UI দেবে। ইউআই তবে অক্ষম করা যেতে পারে বা একটি কাস্টম দিয়ে প্রতিস্থাপন করা যেতে পারে।

স্থিতি পরিবর্তনের জন্য, নিয়মিত অ্যাপের প্রয়োজন অনুসারে MPMoviePlayerControllerকিছু কিছু ব্যবহার করে NSNotifications

হুডের নীচে, MPMoviePlayerControllerউপরে তৈরি হয় AVPlayer- তবে এটি ব্যবহারকারীর কাছে আসলে সম্পূর্ণ স্বচ্ছ হয় - ব্যবহার করার সময় আপনার সেই স্তরটিতে অ্যাক্সেস নেই MPMoviePlayerController

MPMoviePlayerControllerAVPlayerএকক উদাহরণ হিসাবে আন্ডারলাইংটি ব্যবহার করে , সুতরাং MPMoviePlayerControllerএকসাথে ভিডিওগুলি প্লে করার একাধিক উদাহরণ ব্যবহার করা সম্ভব নয় ।

অন্যদিকে, আপনি MPMoviePlayerControllerনিজের বৈশিষ্ট্যগুলির সাথে কার্যকারিতা প্রসারিত করার চেষ্টা করার সাথে সাথে কোডটি দ্রুত অদ্ভুত হয়ে যায় - উদাহরণস্বরূপ আপনি যথাযথ অনাহারে সনাক্তকরণের মতো জিনিসগুলি আচ্ছাদন করার জন্য একাধিক টাইমার ব্যবহার শুরু করবেন (আসলে, সেই বৈশিষ্ট্যটি অন্তর্ভুক্ত হয়ে গেছে) আইওএস 5 এর এই শ্রেণীর সংস্করণে), কাস্টম ইউআই আপডেটস, ... বা প্লেয়ারটি প্রাক-বাফারিংয়ের সময় প্লেব্যাকটি নিখুঁতভাবে বাতিল করার মতো জিনিসগুলি coverাকতে চেষ্টা করার মতো কয়েকটি মুখ্য রাষ্ট্রের সম্পত্তি অর্জন করতে পারে।


ব্যক্তিগত সুপারিশ

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


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

4
উত্তরটি সঠিক is MPMoviePlayerController UI 'তে পারেন নিষ্ক্রিয় করা এবং বা একটি কাস্টম এক সঙ্গে প্রতিস্থাপন করা হয়।
ডেভ ব্যাটন

4
@ বেসি না, লিখিত হিসাবে সম্পূর্ণরূপে সঠিক - এটি অবশ্যই অক্ষম করা যেতে পারে (এমপিএমভিসিন্ট্রোলস্টাইলন ব্যবহার করে) এবং তাই এমপিএমভি প্লেয়ারকন্ট্রোলারের দৃশ্যের ভাইবোন হিসাবে আপনার নিজের দৃষ্টিভঙ্গি যোগ করতে বাধা দেওয়ার কোনও কারণ নেই বলে প্রতিস্থাপন করা হয়েছে backgroundView
পর্যন্ত

8
আইওএস 9 হিসাবে এমপিমোভিপ্লেয়ারকন্ট্রোলার অবনতিহিত এবং তাই আপনাকে ভবিষ্যতের প্রকল্পগুলির জন্য এভিপ্লেয়ার ব্যবহার করা উচিত
লুইস

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