我正在寻找一种从Windows Phone 7平台上的C#中的音频流中获取比特率和持续时间的方法。
首先,我尝试通过使用公式进行计算来获得它(假设我可以持续播放流,我将下载为数字)
比特率=(((((文件大小)/持续时间)/ 1024)* 8)
我可以从Webclient的流中下载音频(mp3)并存储或播放,但是我想先检查一些规则,对于这些规则,我需要使用某种公式作为音频可以无持续时间和字节计算的比特率流可能具有可变的比特率,更深层的计算将是错误的。
有时也有一部分流是在应用程序内下载的,所以我没有完整的文件大小和持续时间,因此比特率计算不正确,所以我需要一种确定的方法。
那么,如何使用Windows Phone 7框架的某些功能从流中获得比特率或持续时间,而实际上却没有播放呢?
最佳答案
唯一的解决方案似乎是,我制作了一个写得很好的类,可以读取歌曲标题的字节(mp3容器)并提取持续时间和比特率之类的详细信息。
我发现另一个不符合我的要求的优雅解决方案是先播放并使用AudioBackroundAgent记录这些细节,然后我们可以对文件大小和音轨持续时间进行数学运算以获得比特率!
关于c# - 查找流(mp3)信息(持续时间,比特率),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19522322/