ios - يعمل - طريقة تشغيل فيديو على شاشة التلفاز عن طريق الفلاش ميموري




غير قادر على تشغيل ملف فيديو MP4 من mainBundle (5)

Xcode 9

هنا صورة محدثة.

انتقل إلى إنشاء المراحل> نسخ حزمة الموارد ومعرفة ما إذا كان ملفك موجودًا. إذا لم يكن الأمر كذلك ، فيمكنك إضافته عن طريق الضغط على الزر "+".

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

بهذا الرمز:

 NSURL *urlString = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"introvideo" ofType:@"mp4"]]; 
MPMoviePlayerController *player  = [[MPMoviePlayerController alloc] initWithContentURL:urlString];
[player play];

أتلقى رسالة الخطأ هذه: * إنهاء التطبيق بسبب عدم وجود استثناء "NSInvalidArgumentException" ، السبب: "* - [NSURL initFileURLWithPath:]: معلمة سلسلة nil '

أي مساعدة سيكون رائعا!


أنت في حاجة للتحقق ما إذا كان هذا الفيديو متوفر في حزمة موارد التطبيق الخاص بك.

كما ذكرت you getting this error message: * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[NSURL initFileURLWithPath:]: nil string parameter .

إنها تشير ببساطة إلى أن المشكلة في ResourcePath ، تعني أنه لا يوجد مثل هذا الملف موجود في Resource Bundle.that's لماذا يقوم pathForResource بإرجاع مسار nil .

تحتاج إلى وضع ملف الفيديو هذا مرة أخرى وتأكد من وجود هذا الملف موجود في حزمة الموارد.

ثم يجب عليك الذهاب مع رمز كما Rehan كما نشرت.

  NSURL *url = [NSURL URLWithString:[[NSBundle mainBundle] pathForResource:@"video" ofType:@"mov" inDirectory:@""]];

  MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:url];
  [[player view] setFrame:[self.view bounds]]; // Frame must match parent view
  [self.view addSubview:[player view]];
  [player play];
  [player release];

آمل أنه قد يستحق الكامل لك.

شكر


لقد وضعت دليل "الأصوات" بأكمله في المشروع ، وأضفته إلى قسم "نسخ موارد الحزمة". كانت تعمل بشكل جيد ، ولكن بعد ذلك بدأت في الانهيار.

كان الإصلاح prepend اسم الدليل إلى أسماء الملفات. على سبيل المثال ، لم ينجح ذلك:

SKAction.playSoundFileNamed("crash.caf", waitForCompletion: false)

... لكن هذا نجح :

SKAction.playSoundFileNamed("Sounds/crash.caf", waitForCompletion: false)

هذا يعني أن شفرتك لا تستطيع العثور على ملف introvideo.mp4 الخاص بك. تأكد من قيامك بإضافة هذا الملف بنجاح إلى الحزمة الخاصة بك. يمكنك التحقق من إعداد مشروعك: نسخ حزمة الموارد.


NSURL *url = [NSURL URLWithString:[[NSBundle mainBundle] pathForResource:@"video" ofType:@"mov" inDirectory:@""]];

MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:url];
[[player view] setFrame:[self.view bounds]]; // Frame must match parent view
[self.view addSubview:[player view]];
[player play];
[player release];