关于音频的采样率等的计算。

我现在能拿到三个数据:BitsPerSample;//获取用于存储某种音频格式的单个采样的音频信息的位数。Channels;//获取这种音频格式所提供的声道数。Sampl... 我现在能拿到三个数据:
BitsPerSample;// 获取用于存储某种音频格式的单个采样的音频信息的位数。
Channels;// 获取这种音频格式所提供的声道数。
SamplesPerSecond// 这种音频格式所提供的每秒采样数。
请给出下面函数的计算公式: public TimeSpan GetSampleDuration(int sizeInBytes)。public int GetSampleSizeInBytes(TimeSpan duration)。给出下面属性的计算公式:public int SampleRate, public TimeSpan BufferDuration。谢绝复制党。
展开
 我来答
olyouth
2011-02-22 · 超过12用户采纳过TA的回答
知道答主
回答量:20
采纳率:0%
帮助的人:30万
展开全部
一段长度为1秒的音频数据占用的存储空间 = 每个声道占用的存储空间 * 声道个数
= (每秒样本个数*每个样本占用的存储空间)*声道个数
(1)public TimeSpan GetSampleDuration(int sizeInBytes)函数
这个函数根据名称来看,大概功能是输入一段音频数据的总字节数(存储空间大小),利用返回值输出音频的持续时间.而音频数据的持续时间 = 音频数据所占用的存储空间的总大小 / 每一秒音频数据占用空间的大小,根据开头的公式,可以得出:
持续时间 = 存储空间的总大小/((每秒的样本个数 * 每个样本占用的存储空间)*声道)

(2)public int GetSampleSizeInBytes(TimeSpan duration)函数
这个函数的字面意思是根据音频数据的持续时间,计算出数据的字节数
音频数据的字节数 = (每秒音频数据占用的存储空间(这里的存储空间单位是bit) * 持续时间的秒数))/8, 原因是每8bit是一个byte(字节).

(3)public int SampleRate成员变量
这个成员变量就是采样频率,值就是 SamplesPerSecond,即每秒的样本个数

(4)public TimeSpan BufferDuration成员变量
这个变量大概的意思是一段音频数据的持续时间,计算公式参考(1)中描述的计算方法

当然,实际的函数功能应该根据需求来修改计算公式, 我给出的答案全部是根据函数的字面意思得出的.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
艾都探矿事业部
2024-04-22 广告
采样率是指采样本与总样本数之比,采样数率是单位时间采样数。如果是仪器中,采样速率为40msa/s,说明每秒采样数量为40m个,但是不能使用40mhz表示。 把模拟音频转成数字音频的过程,就称作采样,简单地说就是通过波形采样的方法记录1秒钟长... 点击进入详情页
本回答由艾都探矿事业部提供
ghwp
2011-02-21 · TA获得超过191个赞
知道答主
回答量:224
采纳率:0%
帮助的人:0
展开全部
这个好像很麻烦的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式