首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用AVPlayer播放视频?

如何使用AVPlayer播放视频?
EN

Stack Overflow用户
提问于 2017-02-23 00:18:04
回答 1查看 11.9K关注 0票数 2

苹果Swift 3.0.2版(-800.63 clang-800.0.42.1)

我想用AVPlayer播放一个来自互联网的视频。但是,源列表下面的super.init(frame:frame)在AVPlayer.swift中出现了一个错误。

线程1:EXC_BAD_ACCESS (code=2,address=0x16fc07fe0)

如何使用AVPlayer播放视频?如果除了错误点之外,还有错误的地方,也让我知道。

AVPlayerView.swift

代码语言:javascript
运行
AI代码解释
复制
import Foundation
import UIKit

final class AVPlayerView : UIView {
    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)!
    }
    override init(frame: CGRect) {
        super.init(frame: frame)
    }
    override public class var layerClass: Swift.AnyClass {
        get {
            return AVPlayerView.self
        }
    }

}

ViewController.swift

代码语言:javascript
运行
AI代码解释
复制
import UIKit
import AVFoundation
import CoreMedia

class ViewController: UIViewController {
    var playerItem : AVPlayerItem!
    var videoPlayer : AVPlayer!

    override func viewDidLoad() {
        super.viewDidLoad()
        let url:NSURL = NSURL(string: "https://aaa.com/test.m3u8")!
        let avAsset = AVURLAsset(url: url as URL, options: nil)

        playerItem = AVPlayerItem(asset: avAsset)

        videoPlayer = AVPlayer(playerItem: playerItem)

        print(self.view.bounds)
        let videoPlayerView = AVPlayerView(frame: self.view.bounds)

        let layer = videoPlayerView.layer as! AVPlayerLayer
        layer.videoGravity = AVLayerVideoGravityResizeAspect
        layer.player = videoPlayer

        self.view.layer.addSublayer(layer)
        videoPlayer.play()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-23 00:59:25

下面是播放视频的代码:

代码语言:javascript
运行
AI代码解释
复制
let videoURL = NSURL(string: "PUT_YOUR_PROPER_URL")
let playerAV = AVPlayer(url: videoURL! as URL)
let playerLayerAV = AVPlayerLayer(player: playerAV)
playerLayerAV.frame = self.view.bounds
self.view.layer.addSublayer(playerLayerAV)
playerAV.play()

扩展下面的AVPlayer支持:

代码语言:javascript
运行
AI代码解释
复制
public.mpeg
public.mpeg-2-video
public.avi
public.aifc-audio
public.aac-audio
public.mpeg-4
public.au-audio
public.aiff-audio
public.mp2
public.3gpp2
public.ac3-audio
public.mp3
public.mpeg-2-transport-stream
public.3gpp
public.mpeg-4-audio

确保可以在AVPlayer中使用受支持的视频。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42410339

复制
相关文章
iOS AVPlayer视频播放器
GOVVideoPlayer/GOVVideoController 是一个基于AVPlayer封装的视频播放器,支持播放/暂停、左右退拽快进、上下滑动调节音量、自动手动全屏、全屏时横屏Or竖屏、有缓冲进度指示条、卡顿指示器、切换视频源。 ---- 更新于2017/8/10,增加了GOVVideoController GOVVideoPlayer是在继承于UIView的基础上封装的视频View; GOVVideoController是在继承于UIViewController的基础上封装的视频视图控制器,
且行且珍惜_iOS
2018/05/22
4K0
AVPlayer+AudioUnit之播放视频音轨(AVAssetTrack)
VoIP应用中,需要在通话端进行视频播放,同时该视频又不进入到VoIP声音中,避免产生回音现象。
xferris
2020/11/03
2.7K1
AVPlayer+AudioUnit之播放视频音轨(AVAssetTrack)
AVPlayer 添加音频播放功能
大家好,本文是 iOS/Android 音视频开发专题 的第八篇,该专题中 AVPlayer 项目代码将在 Github 进行托管,你可在微信公众号(GeekDev)后台回复 资料 获取项目地址。
100001509164
2019/09/29
2.1K0
IOS 使用AVPlayer播放MP4
1 import UIKit 2 import AVFoundation 3 4 class ViewController:UIViewController { 5 6 override func viewDidLoad() { 7 super.viewDidLoad() 8 // Do any additional setup after loading the view, typically from a nib. 9 let moviePath = Bundle.main.pat
用户5760343
2019/07/08
2.7K0
Objective-C AVPlayer播放视频的使用与封装大致效果界面搭建Demo地址
看下成员变量就知道我怎么搭建的了,这里我将video播放层的size作为参照量,对所有控件的size按照其video的size宽高进行比例缩放
gwk_iOS
2018/08/23
1.5K0
Objective-C AVPlayer播放视频的使用与封装大致效果界面搭建Demo地址
Android中如何使用OpenGL播放视频
视频播放主要经历这么几个步骤:解协议 -> 解封装 -> 解码音视频 -> 音视频同步,流程如下图:
雪月清
2020/06/23
2.3K0
使用播放器播放视频有黑边
1.推流端推的画面本身有黑边。因为SDK推流只支持16:9(或者9:16)的画面,如果推流端采集的画面不是16:9的,SDK编码时也会编码成16:9的比例,多出来的部分以黑色填充,具体表现就是编码出来的画面有黑边。这样的情况拉流端SDK一般是处理不了的
腾讯云-qichengdeng
2019/09/05
2.9K0
AVPlayer初体验之视频解纹理
AVPlayer是苹果提供的用来管理多媒体播放的控制器,提供了播放所需要的控制接口和支持KVO的属性,支持播放本地和网络视频,以及实时视频流。它一次只能播放一个AVPlayerItem,如果需要切换媒体源,需要使用replaceCurrentItem(with:)函数。如果需要播放多个视频,可以考虑使用AVQueuePlayer。在不同性能的设备上,甚至相同设备的不同iOS版本上,AVPlayer的最大支持清晰度都会不一样,例如在iOS10的某些机器上不支持4k播放,但是到iOS11就支持了,关于测定视频是
xferris
2018/06/01
3.5K0
delphi 使用windowsmediaplayer播放视频
delphi7中原本自带的一个Tmediaplayer控件,但是发现有不少视频是无法播放的,于是就想到了用windowsmediaplayer来进行播放。
Vaccae
2019/07/25
3.1K0
delphi 使用windowsmediaplayer播放视频
使用Python,怎么播放视频?
使用Python,怎么播放视频? 昨天分享了用python播放音频,今天来分享一下播放视频。将这一主题补充完整。 import numpy as np import cv2 cap = cv2.VideoCapture('vtest.avi') while(cap.isOpened()): ret, frame = cap.read() gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) cv2.imshow('frame',gray
TalkPython
2020/12/29
1.7K0
WPF 使用 VideoDrawing 播放视频
控件的背景使用 DrawingBrush 传入,在 DrawingBrush 传入 VideoDrawing 即可。创建 VideoDrawing 需要一个 MediaPlayer 和给定视频的宽度和高度
林德熙
2022/02/28
1.1K0
【iOS 开发】同步快速判断视频是否可以播放
拿到一个视频的 url 地址(无论是远程还是本地),有时候在播放之前需要检测该视频是否可以播放(本地可能是文件损坏,远端地址情况更复杂),下面介绍两种适用不同情况的方法来实现。
KyXu
2019/04/11
2.1K0
Unity基础(18)-影音系统
注意点: 将视频文件放置在Assets/StreamingAssets/路径下,经测试.MP4可用。最好通过网络加载的方式进行下载,避免打包程序过大。用完设置一个保存时间,一个月或者7天删除。
孙寅
2020/06/02
2K0
iOS视频播放的基本方法
本文总结了iOS中最常见的视频播放方法,不同的方法都各具特点,我希望能够总结它们的不同,方便在开发中选择合适的技术方案。 Apple为我们提供了多种方法来实现视频播放,包括MPMoviePlayerController,MPMoviePlayerViewController,AVPlayer,AVPlayerViewController等。而值得注意的是,上述的MPMoviePlayerController与MPMoviePlayerViewController在iOS9.0之后被弃用。虽说如此,这还是将它
梧雨北辰
2018/07/06
4.5K0
iOS微信小视频优化心得
image.png 小视频是微信6.0版本重大功能之一,在开发过程中遇到不少问题。本文先叙述小视频的产品需求,介绍了几个实现方案,分析每个方案的优缺点,最后总结出最优的解决方案。 小视频播放需求 可以同时播放多个视频 用户操作界面时视频可以继续播放 播放时不能卡住界面,视频滑进界面内后要立即播放 视频在列表内播放是静音播放,点击放大是有声播放 小视频播放方案 1. MPMoviePlayerController MPMoviePlayerController是一个简单易用的视频播放控件,可以播放本
微信终端开发团队
2018/01/29
4.5K0
iOS微信小视频优化心得
使用python播放视频文件
基于python和opencv实现的 import numpy as np import cv2 cap = cv2.VideoCapture('f:/rain_of_lovesickness.mp4') while (cap.isOpened()): ret, frame = cap.read() cv2.imshow('frame', frame) if cv2.waitKey(40) & 0xFF == ord('q'): break cap.relea
py3study
2020/01/10
2.6K0
iOS开发-OpenGL ES实践教程(一)
教程 入门教程和进阶教程,介绍的是OpenGL ES基础,学习图形学基本概念,了解OpenGL ES的特性。 实践教程是OpenGL ES在实际开发中的应用,demo的来源主要是apple官网和gi
落影
2018/04/27
1.8K0
iOS开发-OpenGL ES实践教程(一)
AVPlayer初体验之边下边播与视频缓存
上篇文章介绍了AVPlayer的基本播放和解码纹理,本文主要利用AVAssetResourceLoaderDelegate实现AVPlayer的边下边播和缓存机制。 基本原理 AVUrlAsset在请求自定义的URLScheme资源的时候会通过AVAssetResourceLoader实例来进行资源请求。它是AVUrlAsset的属性,声明如下: var resourceLoader: AVAssetResourceLoader { get } 而AVAssetResourceLoader请求的时候会把相关
xferris
2018/06/01
7.3K0
AVKit框架详细解析(四) —— 基于AVKit 和 AVFoundation框架的视频流App的构建
你已经在 iOS 应用程序上工作了一段时间,你认为你很聪明。 你以为你已经做到了,嗯?
conanma
2021/09/04
7.1K0
点击加载更多

相似问题

如何使用AVPlayer播放视频?

10

使用AVPlayer播放视频

21

如何使用AvPlayer播放多个视频?

16

如何使用AVPlayer播放instagram视频

010

使用AVPlayer播放本地视频

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文