Lecture vidéo échoue - [NSURL initFileURLWithPath:]: aucun paramètre de chaîne
J'ai du mal à comprendre pourquoi cela ne fonctionne pas :/a Chaque fois que je lance le projet de l'application se bloque en me jetant un 'NSInvalidArgumentException', la raison: '* -[NSURL initFileURLWithPath:]: aucun paramètre de chaîne'
J'ai suivi un tuto (je suis assez nouveau à cela), et il a travaillé pour lui, et le code est exactement le même.. quelqu'un Peut-il expliquer ce qui se passe?
.h fichier
#import <UIKit/UIKit.h>
#import <MediaPlayer/MediaPlayer.h>
#import <QuartzCore/QuartzCore.h>
@interface FirstViewController : UIViewController {
MPMoviePlayerViewController *playerController;
}
-(IBAction)playVideo;
@end
.m fichier
#import "FirstViewController.h"
@interface FirstViewController ()
@end
@implementation FirstViewController
{
MPMoviePlayerController *mpc;
}
- (IBAction)playButton:(id)sender {
NSString *stringPath = [[NSBundle mainBundle]pathForResource:@"intro" ofType:@"MP4"];
NSURL *url = [NSURL fileURLWithPath:stringPath];
if(url != nil){
mpc = [[MPMoviePlayerController alloc]initWithContentURL:url];
[mpc setMovieSourceType:MPMovieSourceTypeFile];
[[self view]addSubview:mpc.view];
[mpc setFullscreen:YES];
[mpc play];
}
else{
NSLog(@"URL not found");
}
}
@end
Avant que quiconque demande Reece Darragh possède le dev de compte nous utilisons. Merci pour votre aide
OriginalL'auteur Jordan Earle | 2013-01-06
Vous devez vous connecter pour publier un commentaire.
La seule partie importante de tout ce qui est:
Je suppose que l'exception est générée à l'intérieur de la deuxième ligne. Ce qui voudrait dire que
stringPath
était nul, ce qui pourrait se produire si le fichierintro.MP4
n'était pas réellement dans votre app bundle.Vérifier que:
le fichier existe dans votre copie du code source
votre projet Xcode a une référence à ce fichier
(si c'est rouge, cela signifie que le fichier n'est pas présent)
Dans votre cible dans Xcode, regardez "Phases de construction" et de révéler la "Copie Bundle de Ressources" phase de construction. Ce fichier doit être présent. Si ce n'est pas le cas, appuyez sur le bouton + et sélectionnez-la.
Vérifiez également que vous avez orthographié le nom correctement (y compris les cas -- êtes-vous sûr que c'est MP4 pas mp4?). Vous pouvez également regarder à l'intérieur de votre application, sur le disque, afin de voir si le fichier est là où il devrait être.
J'ai vérifié l' .application fichier et la vidéo est à l'intérieur dans le dossier où il devrait être? Aussi essayé de changer de cas sur la MP4 mais ce n'est pas faire une différence, apparemment 🙁
hey fonctionne parfaitement quand je l'ai ajouté un fichier vidéo dans des phases de construction..merci
OriginalL'auteur Kurt Revis
Kurt réponse a fonctionné pour moi précisément les
"Dans votre cible dans Xcode, regardez "Phases de construction" et de révéler la "Copie Bundle de Ressources" phase de construction. Ce fichier doit être présent. Si ce n'est pas le cas, appuyez sur le bouton " + " et sélectionnez-le."
mon film fichier est manquant. Il doit avoir été là avant parce que il travaillait et puis il s'est juste arrêté.
J'aurais fait un commentaire à Kurt post, mais ne savait pas comment. Je n'ai "jusqu'vote".
OriginalL'auteur arnjmllr
En outre ce qui est mentionné dans cette réponse https://stackoverflow.com/a/14179186/3213411, vous voulez également vous assurer que le fichier que vous référencez, membre de la cible de génération. Vous pouvez le spécifier dans le Fichier de l'Inspecteur. Cette réponse explique comment https://stackoverflow.com/a/5300901/3213411
OriginalL'auteur Matt Lathrop
Votre vidéo est trop longue. En utilisant ce code, la limite est de 30 secondes. Votre meilleur pari est de les diffuser à partir d'une url. Essayez de jouer une vidéo de moins de 30 secondes et il fonctionne parfaitement.
OriginalL'auteur msweet168
iOS 9.2, Xcode, 7.2, ARC activé
J'ai récemment rencontré ce problème moi-même. Sans aucun doute, ce que les contributeurs sont en train de suggérer. Pour moi, c'était le nom réel du fichier qui était de la question, voir ci-dessous...
Le nom de fichier:
A des caractères qui ne sont pas autorisés pour les noms de fichier à l'aide de cette méthode en particulier. Je suppose que vous pouvez le traiter et de se déplacer la question, mais il est plus facile de simplement renommer le fichier.
Après que j'ai renommé:
Tout a très bien fonctionné.
Espère que cela a aidé à quelqu'un! Des acclamations.
OriginalL'auteur serge-k