音频持续时间返回 0.0

Posted

技术标签:

【中文标题】音频持续时间返回 0.0【英文标题】:Audio duration returns 0.0 【发布时间】:2016-09-16 14:11:51 【问题描述】:

我试图获取我使用 AVAudioRecorder(.m4a 格式)录制的音频的持续时间,但以下代码打印出“0.0”:

    let asset = AVURLAsset(URL: myAudioFileURL)
    let audioDuration = asset.duration
    print(Float(CMTimeGetSeconds(audioDuration)))

我做错了什么? 谢谢

【问题讨论】:

【参考方案1】:
do
    
        let avAudioPlayer = try AVAudioPlayer (contentsOfURL:recordedAudioURL)
        duration = avAudioPlayer.duration
        let ms  = Int((duration%1)*1000)
        let sec = Int(duration%60)
        let minutes = Int(duration / 60) % 60
        let hours = Int(duration / 3600)
        recordedAudioDuration.text = (NSString(format: "Dur: %0.2d:%0.2d:%0.2d.%0.3d",hours,minutes,sec,ms)) as String
    
    catch
        print(error)
    

【讨论】:

干杯。完美运行

以上是关于音频持续时间返回 0.0的主要内容,如果未能解决你的问题,请参考以下文章

iOS6 AVAudioPlayer - AAC音频文件的持续时间总是返回0。

HTML5 音频持续时间返回“未定义”(jQuery)

通过 PHP 流式传输时,Safari 中的音频持续时间总是返回无穷大

Cordova Media Capture - 查找音频文件的持续时间

如何反转 AAC 音频文件?

缓存为空时获取音频文件的持续时间属性的问题