Ios 无法在MPMoviePlayer中播放视频?

Ios 无法在MPMoviePlayer中播放视频?,ios,objective-c,iphone,mpmovieplayer,Ios,Objective C,Iphone,Mpmovieplayer,在MPMoviePlayer中播放url时出现以下错误: HTTP(HTTP://)资源加载,因为它不安全。可以通过应用程序的Info.plist文件配置临时异常 2018-06-06 11:15:31.891375+0530视频[1866:137968]任务。已完成,但出现错误-代码:-1022 2018-06-06 11:15:31.891439+0530视频[1866:138011]任务。已完成,但出现错误-代码:-1022 2018-06-06 11:15:32.269777+0530视

在MPMoviePlayer中播放url时出现以下错误:

HTTP(HTTP://)资源加载,因为它不安全。可以通过应用程序的Info.plist文件配置临时异常

2018-06-06 11:15:31.891375+0530视频[1866:137968]任务。已完成,但出现错误-代码:-1022 2018-06-06 11:15:31.891439+0530视频[1866:138011]任务。已完成,但出现错误-代码:-1022 2018-06-06 11:15:32.269777+0530视频[1866:137470][Playback]用于解决错误域=AVFoundationErrorDomain Code=-11800“操作无法完成”UserInfo={NSLocalizedFailureReason=发生未知错误(-1022),NSLocalizedDescription=操作无法完成,NSUnderlyingError=0x600000449e70{Error Domain=NSOSStatusErrorDomain Code=-1022“(null)”} 2018-06-06 11:15:32.271275+0530视频[播放]❗️项的解析无法解析错误:错误域=AVFoundationErrorDomain代码=-11800“操作无法完成”UserInfo={NSLocalizedFailureReason=发生未知错误(-1022),NSLocalizedDescription=操作无法完成,NSUnderlyingError=0x60000044E70{错误域=NSOSStatusErrorDomain代码=-1022”(null)“}}},解析错误:(null) 2018-06-06 11:15:32.271423+0530视频[1866:137470][回放]❗️播放失败,错误为:error Domain=AVFoundationErrorDomain Code=-11800“操作无法完成”UserInfo={NSLocalizedFailureReason=发生未知错误(-1022),NSLocalizedDescription=操作无法完成,NSUnderlyingError=0x60000044E70{error Domain=NSOSStatusErrorDomain Code=-1022(null)},未解析(canResolve:否,allowsItemErrorResolution:否) 2018-06-06 11:15:32.301954+0530视频[1866:137470][回放]❗️无法对任何项目排队


您需要在info.plist中添加以下内容,因为您使用的是不安全的连接(http://)


您未启用应用程序传输安全协议。因此,仅此代码就足够了。请使用源代码打开info.plist文件并粘贴我的代码

NSURL *videoURL = [NSURL URLWithString:@"https://www.youtube.com/watch?v=Jeh40KFFS5Y"];
AVAsset *avAsset = [AVAsset assetWithURL:videoURL];
AVPlayerItem *item = [AVPlayerItem playerItemWithAsset:avAsset];
AVPlayer * avPlayer = [AVPlayer playerWithPlayerItem:item];

AVPlayerLayer *playerLayer = [[AVPlayerLayer alloc] initWithLayer:avPlayer];
playerLayer.frame = self.view.frame;
playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;

[self.view.layer addSublayer:playerLayer];
NSAppTransportSecurity
NSAllowsArbitraryLoads

您的视频无法在所需的MPMoviePlayerController中播放

一个解决方案是使用

<key>NSAppTransportSecurity</key>
<dict>
     <key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
使用pod,你需要给你的TubePlayerView和其他东西,但一些所有者禁用了在另一个应用程序中玩

所以你们需要解决的问题是,若youtube在youtube中播放,或者在浏览器中打开

pod 'YouTubePlayer'

我使用
从Youtube播放了一段视频 pod“youtube ios播放器助手”,“~>0.1.4” 它工作正常。

在你安装这个吊舱之后

导入“YTPlayerView.h”
  • 拖动UIView并将自定义类更改为“YTPlayerView”

  • @属性(弱,非原子)IBOutlet YTPlayerView*PlayerView;//创建outlet

  • 在viewDidload中,您可以编写用于播放视频的单行代码

  • [self.PlayerView loadWithVideoId:@“UQxxt6R5VtQ”];//您可以从url获取视频id

  • 您是否尝试了其他视频而不是youtube?@Mahendra GP是的,我尝试了相同的错误。请检查编辑后的答案。如果您想播放youtube视频,请重新说明此问题,我使用了上述所有解决方案,但无法播放视频。您可以建议其他任何可能播放上述视频的播放器。是的,您可以使用AVPlayer。
    NSURL *videoURL = [NSURL URLWithString:@"https://www.youtube.com/watch?v=Jeh40KFFS5Y"];
    AVAsset *avAsset = [AVAsset assetWithURL:videoURL];
    AVPlayerItem *item = [AVPlayerItem playerItemWithAsset:avAsset];
    AVPlayer * avPlayer = [AVPlayer playerWithPlayerItem:item];
    
    AVPlayerLayer *playerLayer = [[AVPlayerLayer alloc] initWithLayer:avPlayer];
    playerLayer.frame = self.view.frame;
    playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
    
    [self.view.layer addSublayer:playerLayer];
    
    <key>NSAppTransportSecurity</key>
    <dict>
         <key>NSAllowsArbitraryLoads</key>
    <true/>
    </dict>
    
    pod 'YouTubePlayer'
    
    func playInYoutube(youtubeURL: String) {
            if let youtubeURL = URL(string: youtubeURL),
                UIApplication.shared.canOpenURL(youtubeURL) {
                // redirect to app
                UIApplication.shared.open(youtubeURL, options: [:], completionHandler: nil)
            } else if let youtubeURL = URL(string: youtubeURL) {
                // redirect through safari
                UIApplication.shared.open(youtubeURL, options: [:], completionHandler: nil)
            }
        }