1

我只是尝试播放苹果的 HLS 示例流。我的代码很简单:

- (IBAction)playHLS:(id)sender {
    NSString* str = @"https:​/​/​devimages.apple.com.edgekey.net/​resources/​http-streaming/​examples/​bipbop_16x9/​bipbop_16x9_variant.m3u8";
    NSURL *url = [[NSURL alloc] initWithString:str];


    MPMoviePlayerViewController *theMovie = [[MPMoviePlayerViewController alloc]
                                             initWithContentURL: url];

    [self presentMoviePlayerViewControllerAnimated:theMovie];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMovieFinishedCallback:)
                                                 name:MPMoviePlayerPlaybackDidFinishNotification object:theMovie];
}

调试显示 url 未正确初始化,原因是<invalid CFStringRef>

我在这里错过了什么?

4

2 回答 2

1

有点奇怪!

问题是我从浏览器复制并粘贴了 url。输入代码后,代码可以正常工作。

还是不知道为什么,希望对遇到同样问题的人有所帮助。

于 2013-01-07T04:21:01.557 回答
1

该字符串中有几个 Unicode 零宽度空格字符,在每个 the:/字符之后。

例如,如果将其粘贴到此在线 UTF-8 解码器中,您就可以看到它们。它们是Unicode 字符 0x200B

于 2013-01-07T06:59:51.963 回答