(转) IDirectSoundBuffer::SetVolume的参数与音量分贝的函数关系
假如将播放器的控制音量切割成0-100的话,由于IDirectSoundBuffer::SetVolume(LONG lVolume)中参数的输入值是[-10000,0]
- MySetVolume( DWORD inputVolume)
- {
- double decibels;
- DWORD dsVol;
- if (inputVolume==0)
- dsVol = DSBVOLUME_MIN;
- else if (inputVolume>10000)
- dsVol = DSBVOLUME_MAX;
- else
- {
- decibels = 20.0 * log10((double)inputVolume / 100.0);
- dsVol = (DWORD)(decibels * 100.0);
- }
- pDSBuffer->SetVolume( dsVol );
- }
当然,也可以将音量控制分割成0--10000了,基本的公式就是这样的。
有篇文章可以参考参考:http://www.animations.physics.unsw.edu.au/jw/dB.htm#definition
转自:http://blog.csdn.net/sky04/article/details/7070418
(转) IDirectSoundBuffer::SetVolume的参数与音量分贝的函数关系的更多相关文章
- AudioRecord类获取录音音量分贝数
转自:http://www.jb51.net/article/64806.htm public class AudioRecordDemo { private static final S ...
- Android 获取麦克风的音量(分贝)
基础知识 度量声音强度.大家最熟悉的单位就是分贝(decibel,缩写为dB).这是一个无纲量的相对单位.计算公式例如以下: 分子是測量值的声压,分母是參考值的声压(20微帕.人类所能听到的最小声压) ...
- 微软TTS语音引擎编程入门
原文链接地址:http://www.jizhuomi.com/software/135.html 我们都使用过一些某某词霸的英语学习工具软件,它们大多都有朗读的功能,其实这就是利用的Windows ...
- 自定义实现MPVolumeView音量控件
http://blog.csdn.net/theonezh/article/details/8158420 http://www.cnblogs.com/cate/ios/ http://www.cn ...
- 基于鸿洋博客自定于View实现的android音量调节控件
1.在values建立attrs.xml,写出你需要的属性: <?xml version="1.0" encoding="utf-8"?> < ...
- 【VLC-Android】LibVLC API简介(相当于VLC的MediaPlayer)
前言 学新东西API很重要,这里抛砖引玉整理了一下,欢迎反馈! 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over14 ...
- 【读书笔记《Android游戏编程之从零开始》】19.游戏开发基础(游戏音乐与音效)
在一款游戏中,除了华丽的界面 UI 直接吸引玩家外,另外重要的就是游戏的背景音乐与音效:合适的背景音乐以及精彩的音效搭配会令整个游戏上升一个档次. 在 Android 中.常用于播放游戏背景音乐的类是 ...
- android学习日记11--音频播放类
一.android 音频播放类 MediaPlayer和SoundPool都可以用来播放音频.区别是MediaPlayer占用资源高,延迟时间高,播放长音乐的,并且不能同时播放多个音乐,而SoundP ...
- [原创]obj-c编程15[Cocoa实例02]:KVC和KVO的实际运用
原文链接:obj-c编程15[Cocoa实例02]:KVC和KVO的实际运用 我们在第16和第17篇中分别介绍了obj-c的KVC与KVO特性,当时举的例子比较fun,太抽象,貌似和实际不沾边哦.那么 ...
随机推荐
- cc(self)是什么意思?
分别找到这2句代码: 复制代码 cc(self):addComponent("components.behavior.EventProtocol"):exportMethods ...
- 光照渲染[Unity]
http://www.unitymanual.com/m/Manual/RenderingPaths.html http://wenku.baidu.com/view/54eca9e09b896802 ...
- Docker 入门(Mac环境)- part 5 stacks
part-5 stacks 简介 stack就是栈,栈的结构是什么样的呢?一层一层是紧挨着的,然后互相依赖,不能说中间少了一个.这样说就很明白了,栈实际上在docker中就相当于多个互相依赖的组件,共 ...
- Git补充命令行操作操作
Git命令行基本操作这里有我之前整理的git基本操作,常用的操作. 本文以实际功能和实例来说明git GUI的实现原理. 单独更新特定文件 $ git checkout readme.md 删除特定文 ...
- c与c++相互调用机制分析与实现
c++通常被称为Better c,多数是因为c++程序可以很简单的调用c函数,语法上基本实现兼容.最常用的调用方式就是c++模块调用c实现的dll导出函数,很简单的用法,使用extern " ...
- 查看SQL实际内存占用
如果打开了AWE,在任务管理器中就看不到实际的内存使用了.可以用SQL语句来查内存占用,或是“性能监视器(Performance Monitor)中的SQLServer: Memory Manager ...
- LeetCode: Jump Game Total 解题报告
Jump GameGiven an array of non-negative integers, you are initially positioned at the first index of ...
- 进入Linux救援(rescue)模式的四大法门
原文:http://blog.51cto.com/xxrenzhe/1272838 适用场景: 当误操作修改系统启动文件/etc/fstab, /etc/rc.d/rc.sysinit时,就会造成系统 ...
- JAVA-数据库之添加记录
相关资料:<21天学通Java Web开发> 添加记录1.使用语句对象Statement的executeUpdate()方法可以很方便地实现添加记录.2.只需要在executUpdae() ...
- 电商网站jQuery放大镜代码
分享一款电商网站jQuery放大镜代码.这是一款基于jquery.elevatezoom插件实现的类似淘宝放大镜代码,提供40多种参数,可自由配置多种效果,适合电商或图片类网站使用.效果图如下: 在线 ...