Ios AVPlayer未使用动态URL播放流媒体广播

Ios AVPlayer未使用动态URL播放流媒体广播,ios,objective-c,avplayer,Ios,Objective C,Avplayer,iOS上的AVPlayer在执行此操作时可以完美地播放收音机 AVPlayer *player; player =[[AVPlayer alloc] initWithURL:[NSURL URLWithString:@"http://kantipur-stream.softnep.com:7248"]]; [player play] 但当我使用名为link的NSString变量来保存不同收音机的url字符串时,它不会播放任何收音机,比如 AVPlayer *player; player =[

iOS上的AVPlayer在执行此操作时可以完美地播放收音机

AVPlayer *player;
player =[[AVPlayer alloc] initWithURL:[NSURL URLWithString:@"http://kantipur-stream.softnep.com:7248"]];

[player play]
但当我使用名为link的NSString变量来保存不同收音机的url字符串时,它不会播放任何收音机,比如

AVPlayer *player;
player =[[AVPlayer alloc] initWithURL:[NSURL URLWithString:link]];

[player play]
链接是从XML文档中获取和解析的。
我不明白是什么问题。

试试这段代码……它对我有好处

NSString *string=@"http://kantipur-stream.softnep.com:7248";
moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:string]];
[moviePlayer.moviePlayer prepareToPlay];
moviePlayer.view.hidden = YES;
[moviePlayer.moviePlayer play];
[self.view addSubview:moviePlayer.view];
别忘了添加媒体播放器框架

或 url编码

-(NSString *)urlencode:(NSString *)str
{
    NSString *encodeString=(NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)str, NULL, (CFStringRef)@"", kCFStringEncodingUTF8));
    return encodeString;
}
你的代码呢

NSString *string=@"http://kantipur-stream.softnep.com:7248";
player =[[AVPlayer alloc] initWithURL:[NSURL URLWithString:[self urlencode:string]]];

[player play];

打印链接值。。。确保链接有所需的URL…我这样做了,并打印了所需的URL。而且,当我动态提供URL时,它也不起作用。正如我所说,链接是从web上的XML文件动态获取的。当我打印的值显示正确,但不流。它的工作对我来说也很好,当我直接提供代码的url。问题似乎出在从xml接收的url中。虽然它在打印时显示了所需的内容,但一定存在一些格式/编码问题。谢谢karthikeyan。它是有效的。目标c真的很奇怪。您能描述一下为什么在NSString变量中保存时需要这样做吗?请参考此链接,您可以为我投票。