DOUAudioStreamer
DOUAudioStreamer copied to clipboard
A Core Audio based streaming audio player for iOS and macOS
播放一阵子后,在切换下一首歌的时候(alloc),奔溃在DOUAudioEventLoop文件中的[*streamer setStatus:DOUAudioStreamerIdle];这句
工程中是用streamerWithAudioFile的方式加载一个Track。俩次加载的track是同一个。但是第一次加载成功并播放,点击切换以后加载同一个的时候报错了。我打断点到这里:_openWithFileTypeHint。然后OSStatus status=kAudioFileUnsupportedFileTypeError。不知道能不能帮我解决一下。非常感谢
我在 quicktime 的修剪里面看到音频长度是 00:00.15,这种特别短的音频无法播放
- DOUAudioEventLoop.m: 优化下 playing 和 buffering 不停切换的bug @lembacon 这部分测试了下没问题。可能会造成其他问题不? - DOUAudioStreamer.m: status没有改变的赋值造成kvo不停被通知到
大多时候下是正常的,有时候会出现以下情况。 buffering没几下就finished了 没法继续播放。 11:53:32.863 Buffering Received 0.00/0.00 MB (nan %), Speed 0.00 MB/s 11:53:32.863 _resetPlayingInfo 11:53:32.865 updateStatus buffering 11:53:32.866 updateStatus buffering 11:53:33.302 updateStatus playing 11:53:33.302 _resetPlayingInfo 11:53:33.303 Buffering Received 0.00/2.13...
一个线程读一个线程写还是有脏数据的问题啊
有的歌曲有时会播放失败,但是试了其他的库,播放时都没出现问题。 比如说这首歌曲,有时播放会直接跳转到到完成播放 http://mp3free.link/mp3-cache/omi-cheerleader-felix-jaehn-remix-radio-edit.mp3 这个地址可能是有ua判断,直接打开会跳转到一个网页。 并不是每次都无法播放,这首歌曲大概有一半的概率会播放失败。 我调试发现,解析数据回调_readyToProducePackets标志位之后开始计算时长,得到的_estimatedDuration是一个接近0的小数,然后开始解码decodeOnce返回的结果是DOUAudioDecoderEndEncountered,所以直接跳过播放显示完成了。 排查了很久不知道什么原因,希望有大神能帮忙看看这个问题,感激不尽。