菜鸟教程小白 发表于 2022-12-12 11:53:30

ios - MPMoviePlayerController 如何使用不受信任的证书的 url 播放音频(视频)?


                                            <p><p><code>MPMoviePlayerController</code> 如何使用 <strong>不可信证书</strong> 的 url 播放音频(视频)?</p>

<p>有这样的错误日志===></p>

<p><em>NSURLConnection/CFURLConnection HTTP 加载失败
(kCFStreamErrorDomainSSL, -9813)</em></p>

<p>如果只使用 NSURLConnection/NSURLSession 请求请求,我知道使用它的委托(delegate)来接受不受信任的证书。(如加载图像)</p>

<p>但是如果只播放带有不受信任证书的url,如何处理这部分?
我试图添加一个 NSURLConnection 并且已经运行了委托(delegate) <code>(connection:canAuthenticateAgainstProtectionSpace: connection:canAuthenticateAgainstProtectionSpace:)</code>
在播放音频之前,我发现了错误消息:</p>

<p><em>NSURLConnection/CFURLConnection HTTP 加载失败
(kCFStreamErrorDomainSSL, -9813)</em></p>

<p>消失了,但还是无法成功播放音频。</p>

<p>有人知道吗? </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我也在 Apple 上发布了这个问题,我得到了答案。
MPMoviePlayerController 无法播放不受信任的证书。</p>

<p>相反,我们可以使用 AVPlayer 来播放带有不受信任证书的音频、视频。</p>

<p>这是我的代码,工作正常</p>

<pre><code>- (IBAction)clickPlayBtn:(id)sender
{

    NSURL *sourceMovieURL = [initWithString:@&#34;https//:xxxxxxx&#34;];

    AVURLAsset *movieAsset = ;
    ;

    AVPlayerItem *playerItem = ;
    AVPlayer *player = ;
    AVPlayerLayer *playerLayer = ;
    playerLayer.frame = self.view.layer.bounds;
    playerLayer.videoGravity = AVLayerVideoGravityResizeAspect;

    ;
    ;
}

// AVAssetResourceLoaderDelegate
- (BOOL)resourceLoader:(AVAssetResourceLoader *)resourceLoader
shouldWaitForResponseToAuthenticationChallenge:(NSURLAuthenticationChallenge *)authenticationChallenge
{
    //server trust
    NSURLProtectionSpace *protectionSpace = authenticationChallenge.protectionSpace;
    if ()
    {
       forAuthenticationChallenge:authenticationChallenge];
      ;

    }
    else{ // other type: username password, client trust..
    }
    return YES;
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - MPMoviePlayerController 如何使用不受信任的证书的 url 播放音频(视频)?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/26012752/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/26012752/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - MPMoviePlayerController 如何使用不受信任的证书的 url 播放音频(视频)?