Swift 使用AVPlayer 和 AVPlayerItem 做语音播放

本文详细介绍了使用Swift的AVPlayer和AVPlayerItem进行语音播放的实践,包括音频播放、暂停、重新播放和进度条拖动等功能。在实际操作中,遇到获取网络音频总时间的问题,发现AVPlayerItem.duration可能不准确,而CMTimeGetSeconds(playerItem.asset.duration)可获取正确总时间。在测试阶段,部分语音无法播放,可能是由于AVPlayer的格式支持限制,目前采用其他播放器作为替代方案。
摘要由CSDN通过智能技术生成

前言:

最近工作内容用到了语音播放,从 AVPlayer 到 AVPlayerItem, 期间遇到挺多问题,趟了很多 bug, 也总结了一些心得。对 AVPlayer 了解的更多一些,因为涉及点比较多,所以打算做一个系列详尽的写一下这部分内容。希望大家多多支持,有问题的地方欢迎指正。

AVPlayer 是一个可以播放任何格式的全功能影音播放器
支持视频格式: WMV,AVI,MKV,RMVB,RM,XVID,MP4,3GP,MPG 等。
支持音频格式:MP3,WMA,RM,ACC,OGG,APE,FLAC,FLV 等。
所以不得不说苹果亲儿子还是很强大的,是做视频开发的首选。

如何使用

AVPlayer 存在于 AVFoundation 框架,我们使用时需要导入:

import AVFoundation

几个播放相关的参数(此处暂时只说下我用到的)

在创建一个播放器之前我们需要先了解一些播放器相关的类

AVPlayer: 控制播放器的播放,暂停,播放速度
AVPlayerItem: 管理资源对象,提供播放数据源

1.创建AVPlayer

因为我这边播放,需要播放、暂停、重新播放、进度条拖动播放,所以我这边使用了AVPlayerItem

if let url = URL(string: "http://img.youluwx.com/qa/20200917/video/c94869f4-0ddc-4e45-be7e-b0620acc544d.mp3") {
    
    let playerItem = AVPlayerItem(url: url) 
    let play = AVPlayer(playerItem: playerItem)
}

1.2 音频播放、暂停

///播放
player.play()
///暂停
player.pause(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值