【问题标题】:Movie player in new view controller does not play movie from dynamic url iPhone iOS新视图控制器中的电影播放器​​不会从动态 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 -> 您的字符串可能转义不正确。

标签: iphone xml ios uitableview mpmovieplayercontroller


【解决方案1】:

在将字符串转换为 URL 之前,您需要将以下方法应用于字符串

- (NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encoding

【讨论】:

  • 最后证明你的小费很有帮助。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多