社区
游戏开发
帖子详情
如何显示音量电平?
li_zhifu
2001-12-10 04:04:34
如何像好多多媒体播放软件那样动态地显示音量电平?(如Media Player 8)哪里有控件?或是给出实现的源代码就更好了。(在Win98下可用Vumeter,但它在Win2k上用不了)
...全文
599
11
打赏
收藏
如何显示音量电平?
如何像好多多媒体播放软件那样动态地显示音量电平?(如Media Player 8)哪里有控件?或是给出实现的源代码就更好了。(在Win98下可用Vumeter,但它在Win2k上用不了)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Ken_Hall
2002-03-20
打赏
举报
回复
Sorry, 网速太慢,发了两次。
Ken_Hall
2002-03-20
打赏
举报
回复
如果是你自己的代码在进行播放,如利用WaveOut或DSound,你应该都可以得到音频数据,电平的计算是基于求平均数的原理进行的:即在一个很短的Buffer中求所有采样的平均值。该平均值的求取是以已知音频数据的格式为前提的,具体讲就是要根据采样频率、采样的位数、立体声与否来对Buffer中的数据进行解释,从而得到每个声道的单个采样的采样值。这个采样值应该经过规一化(都转化到0.0~1.0区间,注意8bit是无符号整数而16bit则是有符号的)后再进行平均计算。这个平均值就可以近似看成该音频数据流在瞬时的音量。剩下的就是显示的问题了。
另外,在显示上,由于人耳对于音量大小的感觉是基于对数关系的,所以最好将电平的值换算为分贝值(取以10为底的对数,再进行线性变化以变化到可显示的区间)再进行显示。
Ken_Hall
2002-03-20
打赏
举报
回复
如果是你自己的代码在进行播放,如利用WaveOut或DSound,你应该都可以得到音频数据,电平的计算是基于求平均数的原理进行的:即在一个很短的Buffer中求所有采样的平均值。该平均值的求取是以已知音频数据的格式为前提的,具体讲就是要根据采样频率、采样的位数、立体声与否来对Buffer中的数据进行解释,从而得到每个声道的单个采样的采样值。这个采样值应该经过规一化(都转化到0.0~1.0区间,注意8bit是无符号整数而16bit则是有符号的)后再进行平均计算。这个平均值就可以近似看成该音频数据流在瞬时的音量。剩下的就是显示的问题了。
另外,在显示上,由于人耳对于音量大小的感觉是基于对数关系的,所以最好将电平的值换算为分贝值(取以10为底的对数,再进行线性变化以变化到可显示的区间)再进行显示。
li_zhifu
2002-03-19
打赏
举报
回复
贴子时间太长了,请大家多多看看,不管解决问题与否,3天之内结账。
mzm100
2001-12-13
打赏
举报
回复
一般的讲,音频数据就是解码器的音频流,如果你能够得到数据流,电平就可以得到了,如果你使用PlaySound等API函数,是不能得到音频数据的。
单眼皮的老虎
2001-12-10
打赏
举报
回复
如果是MP3,可以看看 http://www.avsuper.com -> MP3 有例子程序的。
li_zhifu
2001-12-10
打赏
举报
回复
问题是,怎样取得电平?
mzm100
2001-12-10
打赏
举报
回复
其实很简单,用CStatic控件就可以实现该功能,从CStatic派生CXX类,再OnPaint()里画电平就行了,只要有点想象力,可以做的非常漂亮!
cobi
2001-12-10
打赏
举报
回复
不懂,所以关注
atongm
2001-12-10
打赏
举报
回复
强烈关注
szchengyu
2001-12-10
打赏
举报
回复
强烈关注
《Nodejs开发加密货币》之三:Nodejs让您的前端开发像子弹飞一样
从本文开始,我们正式进入Nodejs的世界。本文,将指引您搭建Nodejs开发环境,向您介绍Nodejs的安装、使用,帮您快速进入Nodejs的世界。通过本文,让您对前端开发有一个完整、全新的认知,可以学习到如何将一些第三方平台的资源为己所用,比如像巴比特一样即时
显示
交易市场的交易行情。本文的实例,就是上篇文章提到的加密货币开发语言统计分析项目。
通过nodejs部署前端项目
通过nodejs部署前端项目 服务器需要安装:node 然后创建如下代码app.js文件 const http = require('http'); const url = require('url'); const path = require('path'); const fs = require('fs'); // 以上是系统命令,不需下载 // npm install mime 下载插件...
前端小白如何新建一个nodejs项目
创建一个nodejs项目 1.安装nodejs http://nodejs.cn/download/ 2.添加环境变量 3.打开命令行,查看node和npm是否安装成功 4.利用npm下载express脚手架,它会帮我们快速搭建nodejs项目 运行命令 npm install -g express npm install -g express-generator 5. 创建项目 运行命令 express xxx项目名 6.输入三条指令启动项目 7. 在浏览器地址栏输入http://localh
nodejs初学篇
NodeJS package.json NodeJS 项目的配置文件 $ npm init -y 安装的三方包资源也可以添加到这个文件中保存,以便于项目移植。 可以在 package.json 中添加 npm scripts 运行脚本。 安装三方包 $ npm install <package-name> -g --save-dev CommonJS 模块化规范 定义模块:module.exports = {} 或 exports.xx = yy 引入模块:require(路径名称) 注意,
给前端初学者的几点建议
前言 最近很多小伙伴都来问我,怎么学习前端,前端学习到什么程度才可以就业。基于这几个问题结合自己的经验,总结出下面几点建议。 一、怎么样才能达到就业水平? 首先我们要知道web前端编程技术需要达到什么样的技术水平,才能获得一份web前端开发的工作,可以先在一些招聘网站看下大体的技术要求,并且结合自己的情况,来学习相关的技术栈达到可就业的水平。 目前行业大概就业标准,需要有项目开发的经验,至少需要一年经验以上,进公司可以快速上手参加项目模块的开发。 二、制定学习计划 制定一个详细的计划,比如每天计划做什么、每
游戏开发
8,324
社区成员
23,685
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章