为什么AVURLAsset URLAssetWithURL 获取的 duration总是 0

- 巨坑: 被URLAssetWithURL整的获取的duration一直为0, why,郁闷不已

各种百度\google搜索 URLAssetWithURL用法, 实在难找
  • 错误代码
    //只有这个方法获取时间是准确的 audioPlayer.duration获得的时间不准
    AVURLAsset* audioAsset1 =[AVURLAsset URLAssetWithURL:[NSURL URLWithString:mp3FilePath] options:nil];
    CMTime audioDuration1 = audioAsset1.duration;
    float audioDurationSeconds1 =CMTimeGetSeconds(audioDuration1);

还好终于stackOverflow找到答案, 必须在此福利大伙一下,怪自己被坑的太惨

  • 正确代码
    //只有这个方法获取时间是准确的 audioPlayer.duration获得的时间不准
    AVURLAsset* audioAsset =[AVURLAsset URLAssetWithURL:[NSURL fileURLWithPath:mp3FilePath] options:nil];
    CMTime audioDuration = audioAsset.duration;
    float audioDurationSeconds =CMTimeGetSeconds(audioDuration);
  • 关键代码
[NSURL fileURLWithPath:mp3FilePath]
// 存到沙河的 mp3FilePath 路径

感谢StackOverFlow的解答者

https://stackoverflow.com/questions/4101380/avurlasset-refuses-to-load-video?rq=1

你可能感兴趣的:(为什么AVURLAsset URLAssetWithURL 获取的 duration总是 0)