gpt4 book ai didi

iphone - CFReadStreamRef 和可用字节大小

转载 作者:行者123 更新时间:2023-12-03 17:45:22 25 4
gpt4 key购买 nike

大家好,

我正在尝试使用 iphone sdk 实现一个流媒体音乐播放器,基于 Matt Gallagher 的示例代码 ( http://cocoawithlove.com/2008/09/streaming-and-playing-live-mp3-stream.html )

现在我想知道如何获取 CFReadStreamRef 中可用的字节数。

经过长时间的搜索,我得到了查找文件总大小的代码

float audioFileSize = 0.0;
CFHTTPMessageRef myResponse = (CFHTTPMessageRef)CFReadStreamCopyProperty(stream, kCFStreamPropertyHTTPResponseHeader);
audioFileSize = [(NSString*)CFHTTPMessageCopyHeaderFieldValue(myResponse, (CFStringRef)@"Content-Length") floatValue];
CFRelease(myResponse);

我希望有一些类似的代码来查找可用字节的大小。

还想知道如何获取流中音乐文件的持续时间以及播放时长

提前致谢

最佳答案

Content-Length文件中的字节数(八位字节)。如果这是您所期望的,那么这不是几秒钟。

因此,它永远不会是小数,因此您应该使用 unsignedIntegerValue 而不是 floatValue

另外,不要忘记释放(至少)已复制的两个对象。请参阅Memory Management Programming Guide for Core Foundation .

对于特定于音频的信息,例如秒数,您必须将一些数据传递给 Core Audio,然后才能找到它。 CFReadStreams 是通用字节流读取对象;他们对音频、图像、文本或任何其他特定类型的数据一无所知。

关于iphone - CFReadStreamRef 和可用字节大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1679300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com