AVAudioPlayer的文件时长错误iOS 10 [英] AVAudioPlayer getting wrong file duration iOS 10

查看:115
本文介绍了AVAudioPlayer的文件时长错误iOS 10的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用AVAudioPlayer对象加载音频文件. 我已经用两个浏览器检查过1)chrome正在获得确切的持续时间.而2)Safari的文件时长错误.

I am using AVAudioPlayer object to load audio file. I have checked with two browser 1) chrome is getting exact duration. while 2) Safari is getting wrong file duration.

我们使用了以下代码,

let soundData =  NSData(contentsOf: url as URL)
self.player = try AVAudioPlayer(data: soundData! as Data)                   
self.player.delegate = self
let currentSecond = self.player.duration

//Second Option we had tried.
 let assets = AVURLAsset(url: url as URL, options: [
 AVURLAssetPreferPreciseDurationAndTimingKey : Int(true)])
 var t = Float()
 t = Float(CMTimeGetSeconds(assets.duration))
 print(t)

有什么建议吗? 还是我错过了什么? 请引导我.

Is there any suggestion? OR am I missing something? please guide me.

推荐答案

在获取持续时间之前尝试致电player.prepareToPlay().

Try calling player.prepareToPlay() before you can get duration.

这篇关于AVAudioPlayer的文件时长错误iOS 10的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆