查找流(mp3)信息(持续时间,比特率)

本文关键字:比特率 持续时间 信息 mp3 查找 | 更新日期: 2023-09-27 18:36:29

我正在寻找一种方法来从Windows Phone 7平台上的C#音频流中获取比特率和持续时间。

首先,我尝试通过使用公式计算来获取它(假设我可以有流的持续时间,我将下载为数字)

比特率 = ((((文件大小)/持续时间)/1024)*8)

我可以从 webclient 下载流中的音频 (mp3) 并存储或播放它,但我想先检查一些规则,对于这些规则,我需要可以使用某种公式在没有持续时间和字节的情况下计算的比特率,因为音频流可能具有可变比特率,更深入的计算将是错误的。

有时,流的一部分是在应用程序中下载的,所以我没有完整的文件大小和持续时间,所以比特率计算不正确,所以我需要一个确定的方法。

那么,如何使用Windows Phone 7框架的某些功能从流中获取比特率或持续时间,而无需实际播放呢?

查找流(mp3)信息(持续时间,比特率)

唯一的解决方案似乎是,我制作的一个写得很好的类会读取歌曲标题(mp3 容器)的字节并提取持续时间和比特率等详细信息。

发现另一个不符合我要求的优雅解决方案是先播放并使用 AudioBackroundAgent 获取详细信息,然后我们可以对文件大小和曲目持续时间进行数学计算以获得比特率!