سؤال

أحاول تشغيل مقطعين فيديو مستمر باستخدام MpmoviePlayer. تركت الفيديو الثاني يتم تشغيله عندما MPMoviePlayerPlaybackDidFinishNotification تم نشره.

[[NSNotificationCenter defaultCenter] addObserver:self 
                                             selector:@selector(playSecondMovie)
                                                 name:MPMoviePlayerPlaybackDidFinishNotification 
                                               object:nil];

المشكلة هي عندما يتوقف الفيديو الأول ، سيعود العرض إلى العرض سابقًا لفترة قصيرة قبل تشغيل الفيديو التالي.

هل هناك أي فكرة عن كيفية تشغيل الفيديو بشكل مستمر أم أنه من الممكن الحصول على صورة الإطار الأخير في الفيديو الأول؟

هل كانت مفيدة؟

المحلول 2

لقد صنعت مسافة لحل المشكلة. الفكرة الرئيسية هي أضف منظرًا سوداء شاشة ملء الشاشة على المنظر السابق قبل تشغيل الفيلم الأول. لذلك عندما ينتهي الفيلم الأول تشغيل الشاشة بملء السود (يبدو هذا أكثر طبيعية من العرض السابق).

بعض التعديلات:

1 مشكلة أخرى هي أنه عندما أخفي شريط الحالة ، ستكون المنطقة بيضاء. لذلك أنا أيضا تعيين لون نافذة اللون الأسود.

2 عندما ينتهي جميع الفيديو ، يتم عرض العرض السابق ولن يترك إطار العرض مساحة لشريط الحالة. لذا أنا تغيير العرض orgin إلى 20 قبل ظهور شريط الحالة.

آمل أن يساعد هذا أولئك الذين يوفون نفس المشكلة.

نصائح أخرى

الطريقة الوحيدة لتشغيل فيديو YouTube داخل تطبيقك الخاص هي إنشاء UiwebView مع علامة تضمين من YouTube للفيلم الذي تريد تشغيله كمحتوى Uiwebview. سوف يكتشف UiWebView أن الكائن المدمج هو رابط YouTube ، وسيكون محتوى عرض الويب هو معاينة YouTube للفيديو. عندما ينقر المستخدم على المعاينة ، سيتم عرض الفيديو في mpmoviePlayerController. هذه هي التقنية الموضحة في الرابط الذي قدمه Muxecoid (http://iphoneincubator.com/blog/audio-video/how-to-play-youtube-videos-within-an-application) ، وهذا (بقدر ما أعرف) الطريقة الوحيدة لتشغيل فيديو YouTube داخل التطبيق. لا يزال بإمكانك تشغيل تطبيق youtube عن طريق تمرير عنوان URL على YouTube إلى -[uiapplication openurl:] ، ولكن هذا بالطبع يغلق تطبيقك الخاص الذي غالبًا ما يكون غير مرغوب فيه.

لسوء الحظ ، لا توجد طريقة لتشغيل فيديو YouTube مباشرة مع mpmoviePlayerController لأن YouTube لا يعرض روابط مباشرة لملفات الفيديو.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top