多媒体
郁闷阳光
作为码农,建此博客的目的是记录工作历程中的点点滴滴,分享工作中的感悟、思考。
展开
-
如何播放大型 WAV 文件?
平时,你在多媒体软件的设计中是怎样处理声音文件的呢?使用Windows 提供的API函数 sndPlaySound来实现WAV文件的播放?但是,你有没有遇到过这种情况呢:当WAV文件大于可用内存时,sndPlaySound 函数就不能进行播放!!!那么,如何利用MCI播放大型音频原创 2011-10-18 09:36:36 · 798 阅读 · 0 评论 -
网络录音播放器
最近有个需求,需要实现网络录音播放功能,在一端录音,然后将数据通过网络传送到另外一端,并且播放,有点类似于QQ的语音聊天功能。先大概讲下服务端的实现。//初始化部分void CMyDlg::Init(){ pWaveHdr1=reinterpret_cast(malloc(sizeof(WAVEHDR))); pSaveBuffer = reinterpret_cast(malloc原创 2012-03-13 15:36:14 · 524 阅读 · 0 评论 -
wave文件(*.wav)格式、PCM数据格式
1. 音频简介经常见到这样的描述: 44100HZ 16bit stereo 或者 22050HZ 8bit mono 等等.44100HZ 16bit stereo: 每秒钟有 44100 次采样, 采样数据用 16 位(2字节)记录, 双声道(立体声);22050HZ 8bit mono: 每秒钟有 22050 次采样, 采样数据用 8 位(1字节)记录, 单声道;转载 2012-03-13 15:06:24 · 706 阅读 · 0 评论 -
MCI时间格式的说明
最近在研究MCI如何编写多媒体应用程序,对其中的时间格式不是太明白,在网上找了很多资料,也没找到说的很详细的,于是只有啃MSDN了。MCI的时间格式大概有如下几种:MCI_FORMAT_MILLISECONDS 、 MCI_FORMAT_HMS 、 MCI_FORMAT_MSF、MCI_FORMAT_FRAMES 、MCI_FORMAT_SMPTE_24 、 MCI_FORMAT_SMPTE原创 2012-03-05 16:13:47 · 1642 阅读 · 0 评论 -
基于API的录音机程序
一、数字音频基础知识Fourier级数:任何周期的波形可以分解成多个正弦波,这些正弦波的频率都是整数倍。级数中其他正线波的频率是基础频率的整数倍。基础频率称为一级谐波。PCM:pulse code modulation,脉冲编码调制,即对波形按照固定周期频率采样。为了保证采样后数据质量,采样频率必须是样本声音最高频率的两倍,这就是Nyquist频率。样本大小:采转载 2012-03-03 16:41:26 · 482 阅读 · 0 评论 -
VC++中播放声音的方法
声音是多媒体的一个重要组成部分,在应用程序中加入声音可以使界面更友好。在VC++中可以根据不同的应用要求,用不同的方法实现声音的播放。 一.播放声音文件的简单方法 在VC++ 中的多媒体动态连接库中提供了一组与音频设备有关的函数。利用这些函数可以方便地播放声音。最简单的播放声音方法就是直接调用VC++中提供的声音播放函数BOOL sndPlaySound ( LPC原创 2012-02-21 11:15:52 · 616 阅读 · 0 评论 -
Win 32的多媒体服务
11.6 Win 32的多媒体服务 Windows 95/NT提供了丰富的多媒体服务功能,包括大量从低级到高级的多媒体API函数。利用这些功能强大的API,用户可以在不同层次上编写多媒体应用程序。有关多媒体服务的内容完全可以写一本书,本节只是向读者简要地介绍一些最常用的多媒体服务。 在用Visual C++开发多媒体应用时,用户必须在所有要用到多媒体函数的源程序中包含MMSYSTEM.转载 2012-02-26 16:37:50 · 504 阅读 · 0 评论 -
MCI函数与命令
MCI 函数与命令Microsoft 提供的 MMSYSTEM.H 文件中定义了调用 MCI 功能的数据类型和函数原型。在使用MCI 功能的任何源模块中都应包含该文件。 1. MCI 函数所有的 MCI 函数名都以 mci 为前缀。对应于 MCI 命令消息和命令字符串接口方式, MCI 函数也分为两类,即命令消息函数和命令字符串函数。在 MMSYSTEM.H 中定义了这些函数的原型转载 2012-02-24 14:59:00 · 1062 阅读 · 0 评论 -
用mciSendString制作可播放MPEG,AVI,WAV,MP3等的播放器
mciSendString是用来播放多媒体文件的API指令,可以播放MPEG,AVI,WAV,MP3,等等,下面我们来介绍一 下它的使用方法: 一,打开多媒体文件。 首先在Dialog上面放一个Picture控件,MCISendString就在这个Picture控件的平面上播放多媒体文件, 设Picture控件的ID为IDC_STATIC1: CStatic转载 2012-02-24 15:03:23 · 1200 阅读 · 0 评论 -
MCISendString详细参数
(注:本文以 2000 年七月的 MSDN 解释为准)MCI Command String 是多媒体设备的程序接口。通过它,我们可以打开一个多媒体文件,例如 mp3 , VCD , Mpeg4 格式的文件等等,并对它进行播放,暂停,关闭等操作。现在小弟有幸给大家介绍一下 MCI Command String 的使用方法。MCI Command String 是通过 mc转载 2012-02-24 15:02:25 · 808 阅读 · 0 评论 -
VC调用ACM音频编程接口压缩Wave音频
摘要: 本文介绍了在Microsoft Visual C++ 6.0下如何调用ACM(Audio Compression Manager,音频 压缩管理器)音频压缩编程接口对原始录入的Wave音频进行数据压缩。 关键字:ACM、CODECs、Wave音频、音频编码压缩 引言 音频和视频是多媒体应用程序向用户提供信息的主要方式,这些音频、视频数据一般都具有较高的采样转载 2012-02-07 14:30:04 · 479 阅读 · 0 评论 -
在VC++中实现自动连续播放多媒体
内容提要 可视动画控件ActiveMovie是Microsoft公司开发的ActiveX控件,从开始的1.0版、1.2版到现在的2.0版,功能上已经有了很大的改进。由于该控件内嵌了Microsoft MPEG音频解码器和Microsoft MPEG视频解码器,所以能转载 2011-10-18 09:39:19 · 985 阅读 · 0 评论 -
利用键盘钩子开发按键发音程序
一、前言一日,看见我妈正在用电脑练习打字,频频低头看键盘,我想:要是键盘能发音的话,不就可以方便她养成"盲打"的好习惯吗?光想不做可不行,开始行动(您可千万别急着去拿工具箱啊^_^)...按键能发音,其关键就是让程序能够知道当前键盘上是哪个键被按下,并播放相应的声音,自己转载 2011-10-18 15:47:03 · 523 阅读 · 0 评论 -
大型WAV文件的播放
在多媒体软件的设计中经常要处理声音文件,用Windows提供的API函数sndPlaySound可以实现小型WAV文件的播放。但是当WAV文件大于可用内存时,sndPlaySound函数就不能进行播放,那么如何利用MCI播放大型音频文件呢?本文将介绍一种方法。 Wi翻译 2011-10-19 09:00:16 · 609 阅读 · 0 评论 -
用RealPlayer控件制作的播放器
本文介绍如何插入RealPlay控件实现媒体文件的播放,代码运行效果图如下:下面简要介绍一下具体实现步骤:一、建立基于对话框的程序二、在对话框内添加RealPlayer G2 control的ActiveX控件 (工程->添加工程->compo原创 2011-10-18 10:48:05 · 898 阅读 · 0 评论 -
如何用VC++编写MIDI文件播放程序
MIDI的意思是乐器数字接口:(Musical Instrument Digital Interface)它是早在微软开发Windows以前就有的一个用于电子键盘的标准。MIDI定义了一个传输和存储音乐信息的协议。 Win32 API 提供了几种处理MIDI数据的方原创 2011-10-18 16:59:34 · 1991 阅读 · 0 评论 -
在资源文件中加入声音资源
本文介绍如何在VC资源文件中加入自己的声音资源,使自己的应用程序可以播放声音。1,首先用文本编辑器(如记事本)打开资源文件(.rc文件)在最后加入自己的声音资源,如下IDW WAVE "c:\\kav\\sound\\virus.wav"保存资源文件。2,原创 2011-10-18 10:59:32 · 424 阅读 · 0 评论 -
网络录音程序的录音部分实现
先是初始化部分:void CreateSock(void){ closesocket(sock); sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); addr.sin_family=AF_INET; addr.sin_port=htons(2288); addr.sin_addr.S_un.S_addr = inet_addr("127原创 2012-03-13 17:03:49 · 570 阅读 · 0 评论