.avi 文件视频无法在 MPMoviePlayerController ios 播放器中播放

Posted

技术标签:

【中文标题】.avi 文件视频无法在 MPMoviePlayerController ios 播放器中播放【英文标题】:.avi file video not play in MPMoviePlayerController ios player 【发布时间】:2017-11-22 06:25:51 【问题描述】:

我正在使用MPMoviePlayerController 播放avi 格式的视频文件。 音频有效,但视频无效。这是为什么呢?

【问题讨论】:

Important MPMoviePlayerViewController 类在 ios 9 中已正式弃用。(MPMoviePlayerController 类也已正式弃用。)要在 iOS 9 及更高版本中播放视频内容,请改用 AVKit 框架中的 AVPictureInPictureController 或 AVPlayerViewController 类, 或 WebKit 中的 WKWebView 类 使用可以使用AVPlayerViewControllerdeveloper.apple.com/documentation/avkit/avplayerviewcontroller 【参考方案1】:

MPMoviePlayerViewController 仅支持 .mov、.mp4、.mpv 和 .3gp,并且已弃用

来自苹果的documentation:

在 iOS 9 中正式弃用 MPMoviePlayerViewController 类。 (MPMoviePlayerController 类也已正式弃用。) 在 iOS 9 及更高版本中播放视频内容,而不是使用 AVPictureInPictureController 或 AVPlayerViewController 类来自 AVKit 框架,或来自 WebKit 的 WKWebView 类。

你应该使用 AVPlayerViewController

import AVFoundation
import AVKit

let videoPath = "https://video.avi"
let videoURL = URL(string: videoPath)
let player = AVPlayer(url: videoURL!)
let playerViewController = AVPlayerViewController()
playerViewController.player = player
present(playerViewController, animated: true) 
    playerViewController.player?.play()

或者只是将 AVPlayer 添加为子视图:

let videoURL = URL(string: videoPath)
let player = AVPlayer(url: videoURL!)
let playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = self.view.bounds
view.layer.addSublayer(playerLayer)
player.play()

它支持以下音频/视频格式: .mpeg、.mpeg-2-video、.avi、.aifc-audio、.aac-audio、.mpeg-4、.au-audio、.aiff-audio、.mp2、.3gpp2、.ac3-audio、. mp3、.mpeg-2-transport-stream、.3gpp、.mpeg-4-audio

【讨论】:

有什么方法可以检测远程 URL 是否可播放?【参考方案2】:

我认为您无法在 ios 中使用 MPMoviePlayerController 播放 .avi 文件。

由于 .avi 格式的内容无法在 iOS 设备上解码视频。

【讨论】:

我想在 ios 中播放 .avi 文件(带音频和视频),那么有没有可用的播放器呢?或者像ijkmediaplayer这样的播放器库(这个不支持avi) 我可以播放音频但不能播放视频

以上是关于.avi 文件视频无法在 MPMoviePlayerController ios 播放器中播放的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ffmpeg 合并两个 avi 文件?

OpenCV将帧附加到现有视频(.avi)文件?

如何在 iOS 上分享 .avi 视频

从正在写入的视频 .avi 文件中读取

avi格式的视频与flv格式的视频的区别?详细的说说

电脑上的AVI视频怎么在线转换成MOV视频