新视图控制器中的电影播放器不会从动态 url iPhone iOS 播放电影
Posted
技术标签:
【中文标题】新视图控制器中的电影播放器不会从动态 url iPhone iOS 播放电影【英文标题】:Movie player in new view controller does not play movie from dynamic url iPhone iOS 【发布时间】:2011-10-23 13:06:18 【问题描述】:我有一个 UITableView 项目,其中填充了从 XML 解析的电影数据。当我按下行时,会显示新的视图控制器。我已经分配了所有属性来接收新视图控制器中的信息,例如:电影的标题、描述和 url 字符串。当我 NSLog 这些值时,它看起来很好。但是这个新视图控制器的线索是自动显示来自特定 url 的电影。下面是我使用的代码。
videoURL = [NSURL URLWithString:urlString];
urlString 是我从 XML 获取电影的地址
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:videoPlayer];
videoPlayer = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];
[self.view addSubview:videoPlayer.view];
videoPlayer.view.frame = CGRectMake(0, 0, 250, 300);
[videoPlayer play];
如果有这样的静态分配的url字符串
NSString *url = @"http://www.myserv.com/video.mp4";
videoURL = [NSURL URLWithString:url];
一切正常。如果有人知道如何解决我的问题,我将不胜感激。
【问题讨论】:
在 URL 中添加一些调试日志——也就是说,在videoUrl = [NSURL URLWithString:urlString];
之前添加一个 NSLog(@"the URL: %@", urlString);
我已经做到了。 “url”的 NSLog 是电影目的地的正确字符串。但是在NSURL *videoURL = [NSURL URLWithString:urlString ]
之后;我正在检查日志,videoURL 的值为(null)
。
这表明 urlString 不能转换为正确的 NSURL -> 您的字符串可能转义不正确。
【参考方案1】:
在将字符串转换为 URL 之前,您需要将以下方法应用于字符串
- (NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encoding
【讨论】:
最后证明你的小费很有帮助。谢谢!以上是关于新视图控制器中的电影播放器不会从动态 url iPhone iOS 播放电影的主要内容,如果未能解决你的问题,请参考以下文章
iOS Swift 在视图关闭时停止 MoviePlayer
从 MPMediaItem 播放电影 (iPad/IOS5)
MPMoviePlayerController 播放完成后不会自动关闭电影(ios 6)