Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 视频未在Xcode中播放;零字符串参数_Iphone_Video_Xcode4.3 - Fatal编程技术网

Iphone 视频未在Xcode中播放;零字符串参数

Iphone 视频未在Xcode中播放;零字符串参数,iphone,video,xcode4.3,Iphone,Video,Xcode4.3,下面是我为在Xcode项目中播放视频而编写的代码。当我运行这个项目的时候,它崩溃了。我得到以下原因:由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“*-[NSURL initFileURLWithPath:]:nil字符串参数” 我找到了一个在模拟器上运行的教程。 我将我的视频添加到项目中,并相应地更新了代码。我的视频是m4v格式的,就像本教程中的其他视频一样。当我用我的视频运行应用程序时,它仍然崩溃,并给我同样的错误。我从quick time中获

下面是我为在Xcode项目中播放视频而编写的代码。当我运行这个项目的时候,它崩溃了。我得到以下原因:由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“*-[NSURL initFileURLWithPath:]:nil字符串参数”

我找到了一个在模拟器上运行的教程。 我将我的视频添加到项目中,并相应地更新了代码。我的视频是m4v格式的,就像本教程中的其他视频一样。当我用我的视频运行应用程序时,它仍然崩溃,并给我同样的错误。我从quick time中获取视频并将其导出到iTunes。我做错了什么

.h文件

#import <UIKit/UIKit.h>
#import <MediaPlayer/MediaPlayer.h>  

@interface BigBuckBunnyViewController : UIViewController {

}

-(IBAction)playMovie:(id)sender;

@end
好的,所以我能够创建一个html页面,并将html页面链接到视图加载部分中的.m文件。我创建了一个UIWebview并将其添加到我的xib视图中。我把视频放在服务器上。这可能是一个更好的解决方案,加载时间更短。

这将起作用

#import <UIKit/UIKit.h>
#import <MediaPlayer/MediaPlayer.h>

@interface TipsViewController : UIViewController {

  MPMoviePlayerViewController *playerController;
}

-(IBAction)playVideo;

@end
如果url为空,请检查您的文件和路径


注意:内存管理工具是否拥有:)

您得到的是零,因为类型为@“m4v”的
NSString*文件路径=[[NSBundle mainBundle]路径为资源:@“ladder rack 1 4”包含空格。
因此,您需要将其更改为:

NSURL   *fileURL    =   [NSURL fileURLWithPath:filepath] absoluteString];

请参阅此

,因为您已将playercontroller设置为零。不要这样设置。当你检查你的应用程序包时,它是否包含tcniche.mp4?超人我应该将其设置为什么?我试图删除该行并运行应用程序,但仍然得到相同的结果。Carl我应该在info.plist中查找应用程序包吗?因此我尝试了多个教程,每个人似乎都在工作。但他们都把项目设为零。我正在使用最新版本的Xcode,它正在iOS 6上部署。我仍然得到nil字符串错误。我被告知不要将代码设置为零。我应该把它设置成什么?我以前删除过nil,但它仍然会给我相同的错误。最好在项目中选择启用ARC。。然后检查路径。。MPMoviePlayerViewController必须是全局变量..好的,所以我使用您的代码Ramshad创建了一个新项目。我检查了我的视频存储的文件路径,它显示在我的项目文件夹中。我如何让MPMoviePlayServiceWController成为一个全局变量?你能把示例应用发送到我的gmail吗?id为“ramshadram90@gmail.com" .. 做完后通知我。。然后我可以详细查看并解决您的问题。这是我最后写的内容,它似乎起到了作用。我添加了一个UIWebView,然后在我的项目中添加了一个HTML文件。然后我在.m文件中引用了HTML文件。我在viewDidLoad部分使用了这段代码。[videoWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@“html”类型的“videohtml”]isDirectory:否]];这是我在html文件中写的。好的,我改变了视频,在NSURL的末尾添加了absoluteString,就像这样。
 - (IBAction)playVideo{

 NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"tcniche"  
    ofType:@"mp4"]];

 if(url != nil){

           playerController = [[MPMoviePlayerViewController alloc] 
    initWithContentURL:url];
           [self presentMoviePlayerViewControllerAnimated:playerController];

           playerController.moviePlayer.movieSourceType = MPMovieSourceTypeFile;

          [playerController.moviePlayer play]; 
 }
 else{

      NSLog(@"URL not found");

    }

 }
NSURL   *fileURL    =   [NSURL fileURLWithPath:filepath] absoluteString];