1

我正在尝试从 ICY 流中重现音频。我可以使用 AVPlayer 和一些好的开源库来重现它,但我无法控制流。我不知道如何获得复制的百分比或如何寻找流中的特定时间。那可能吗?有没有好的图书馆可以帮助我?实际上我正在使用AFSoundManager但我总是收到负数的百分比,并且在尝试在指定时间寻找流时我得到无效时间。

这就是我正在使用的代码:

AFSoundManager.sharedManager().startStreamingRemoteAudioFromURL("http://www.abstractpath.com/files/audiosamples/sample.mp3") { (percentage, elapsedTime, timeRemaining, error, poppi) in

        if error == nil {
            //This block will be fired when the audio progress increases in 1%
            if elapsedTime > 0 {
                println(elapsedTime)
                self.slider.value = Float(elapsedTime*1000)
            }
        } else {
        //Handle the error
            println(error)
        }

我当然可以得到 elapsedTime 但不能得到百分比或剩余时间。我总是得到负数。此代码适用于远程或本地音频文件,但不适用于流。

4

1 回答 1

1

这是不可能的。

这些流是实时的。没有什么可寻求的,因为你没有听到的还没有发生。即使是端到端播放音乐的流仍然是“实时的”,因为您尚未收到的音频还没有被编码。(当然,小编解码器和传输缓冲区除外。)

于 2015-04-13T03:07:06.187 回答