【问题标题】:MPMoviePlayerController iOS stream m3u8 file not workingMPMoviePlayerController iOS 流 m3u8 文件不起作用
【发布时间】:2016-07-28 20:20:53
【问题描述】:

我正在尝试使用此代码播放 m3u8 实时流文件:

       NSURL *movieURL = [NSURL URLWithString:@"http://www.streaming507.com:1935/TVBlast/TVBlast/playlist.m3u8"];



    MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];

        [self.view addSubview:mp.view];

        [mp setFullscreen:YES animated:YES];
    mp.movieSourceType = MPMovieSourceTypeStreaming;

        [mp play];


}

当我在 safari 浏览器中的设备中复制/粘贴 streaming507.com:1935/TVBlast/TVBlast/playlist.m3u8 时,它播放完美,效果很好,我该如何解决这个问题?

我不知道我做错了什么

谢谢

【问题讨论】:

  • 您需要在播放视频之前将电影源类型提及为流媒体。试试这个 mp.movi​​ePlayer.movi​​eSourceType = MPMovieSourceTypeStreaming;
  • 我不确定,但尝试替换 [mp setControlStyle:MPMovieControlStyleDefault]; with mp.movi​​ePlayer.movi​​eSourceType = MPMovieSourceTypeStreaming;
  • 我只是在我的主线程中修改了代码,但同样它不播放 m3u8 文件
  • 当我在我的设备中的 safari 浏览器中复制/粘贴 streaming507.com:1935/TVBlast/TVBlast/playlist.m3u8 时,它可以完美播放
  • 您可以播放播放器中的任何其他视频吗?

标签: ios mpmovieplayercontroller m3u8 mpmoviewcontroller


【解决方案1】:

我通过在我的 info.plist 中复制/粘贴来解决问题:

<key>NSAppTransportSecurity</key>
<dict>
  <!--Include to allow all connections (DANGER)-->
  <key>NSAllowsArbitraryLoads</key>
      <true/>
</dict>

【讨论】:

  • 你看到哪里写着危险吗?好吧,它说这是有原因的
  • 你推荐什么?只允许 m3u8 文件如何?
  • 我会说将特定域名添加到应用程序传输安全中,因为允许任意加载是一个安全问题......但由于某种原因,我认为您在播放 m3u8 文件时可能必须允许任意加载
猜你喜欢
  • 2015-08-20
  • 2012-12-28
  • 1970-01-01
  • 2014-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多