cmp3v(CMP3V化学成分)

本篇文章给大家谈谈cmp3v,以及CMP3V化学成分对应的知识点,希望对各位有所帮助。

CMP3是什么格式,怎么制作

CMP3格式是一种基于前端mpg123的控制台(媒体),它使用ncurses库. 有一个非常漂亮的界面、非常酷的悬挂模式和便于播放的列表,全力支持播放,包括将歌曲的前后切换、随机播放、保存和装载等。

怎样把MP3转CD WAV 格式时音质保存得更好

用千千静听可以转换成音频格式,详细步骤如下;

☆步骤一:右键点击播放列表里的歌曲名称

☆步骤二:点击"转换格式(C)

☆步骤三:在"输出格式"下拉框中选择你需要的格式.

目前千千支持5种格式转换:

1.wav:wave文件输出

2.m4a:Nero

HE-AAC

编码器,需要Nero

6组件

3.ape:Monkey's

Audio(APE)编码器

v1.02

4.mp3:.mp3

编码器(lame

v3.90.3)v1.02,或者命令行编码器v1.0(需要命令行编码器lame.exe)

5.wma:WMA编码器(Window

Media

Audio)v1.02(需要安装Windows

Media

Player/Encoder

9.0或者更高版本);

点击“配置

怎么用c语言打开一个MP3文件(直接给代码),需要什么软件进行输入

VC++中播放声音的方法

2009-09-23 14:58

声音是多媒体的一个重要组成部分,在应用程序中加入声音可以使界面更友好。在VC++中可以根据不同的应用要求,用不同的方法实现声音的播放。

一.播放声音文件的简单方法

在VC++ 中的多媒体动态连接库中提供了一组与音频设备有关的函数。利用这些函数可以方便地播放声音。更简单的播放声音方法就是直接调用VC++中提供的声音播放函数BOOL sndPlaySound ( LPCSTR lpszSound,UINT fuSound ); 或BOOL PlaySound( LPCSTR lpszSound, HMODULE hmod, DWORD fuSound );其中参数lpszSound是需要播放声音的.WAV文件的路径和文件名, hmod在这里为NULL,fuSound是播放声音的标志,详细说明请参考VC++中的帮助。 例如播放C:soundmusic.wav可以用sndPlaySound ("c:soundmusic.wav",SND_ASYNC);或PlaySound("c:soundmusic.wav",NULL, SND_ASYNC|SND_NODEFAULT );如果没有找到music.wav文件,**种格式将播放系统默认的声音,第二种格式不会播放系统默认的声音。

二.将声音文件加入到程序中

在VC++的程序设计中,可以利用各种标准的资源,如位图,菜单,对话框等。同时VC++也允许用户自定义资源,因此我们可以将声音文件作为用户自定义资源加入程序资源文件中,经过编译连接生成EXE文件,实现无.WAV文件的声音播放。

要实现作为资源的声音文件的播放,首先要在资源管理器中加入待播放的声音文件(实现过程并不复杂,这里不在叙述)。假设生成的声音文件资源标识符为IDR_WAVE1。在播放时只需要调用下面的语句:

PlaySound(MAKEINTRESOURCE(IDR_WAVE1),AfxGetResourceHandle(), SND_ASYNC|SND_RESOURCE|SND_NODEFAULT|SND_LOOP);

其中MAKEINTRESOURCE()宏将整数资源标识符转变为字符串,AfxGetResourceHandle()函数返回包含资源的模块句柄,

SND_RESOURCE是必须的标志。

作为资源的声音文件的第二种播放方法是把资源读入内存后作为内存数据播放。具体步骤入下:

1.获得包含资源的模块句柄:

HMODULE hmod=AfxGetResourceHandle();

2.检索资源块信息:

HRSRC hSndResource=FindResource(hmod,MAKEINTRESOURCE(IDR_WAVE1),_T("WAVE"));

3. 装载资源数据并加锁:

HGLOBAL hGlobalMem=LoadResource(hmod,hSndResource);

LPCTSTR lpMemSound=(LPCSTR)LockResource(hGlobalMem);

4.播放声音文件:

sndPlaySound(lpMemSound,SND_MEMORY));

5.释放资源句柄:

FreeResource(hGlobalMem);

三.播放声音文件的**方法

在VC++中提供了一组对音频设备及多媒体文件直接进行操作的函数。利用这些函数可以灵活地对声音文件进行各种处理。

首先介绍几个要用到的数据结构。WAVEFORMATEX结构定义了WAVE音频数据文件的格式。WAVEHDR结构定义了波形音频缓冲区。读出的数据首先要填充此缓冲区才能送音频设备播放。WAVEOUTCAPS结构描述了音频设备的性能。MMCKINFO结构包含了RIFF文件中一个块的信息。详细的说明请参考VC++中的帮助。

下面给出程序流程简图及程序源代码清单,在VC++环境下可直接使用:

源程序清单如下:

LPSTR szFileName;//声音文件名

MMCKINFO mmckinfoParent;

MMCKINFO mmckinfoSubChunk;

DWORD dwFmtSize;

HMMIO m_hmmio;//音频文件句柄

DWORD m_WaveLong;

HPSTR lpData;//音频数据

HANDLE m_hData;

HANDLE m_hFormat;

WAVEFORMATEX * lpFormat;

DWORD m_dwDataOffset;

DWORD m_dwDataSize;

WAVEHDR pWaveOutHdr;

WAVEOUTCAPS pwoc;

HWAVEOUT hWaveOut;

//打开波形文件

if(!(m_hmmio=mmioOpen(szFileName,NULL,MMIO_READ|MMIO_ALLOCBUF)))

{

//File open Error

Error("Failed to open the file.");//错误处理函数

return false;

}

//检查打开文件是否是声音文件

mmckinfoParent.fccType =mmioFOURCC('W','A','V','E');

if(mmioDescend(m_hmmio,(LPMMCKINFO)mmckinfoParent,NULL,MMIO_FINDRIFF))

{

//NOT WAVE FILE AND QUIT

}

//寻找 'fmt' 块

mmckinfoSubChunk.ckid =mmioFOURCC('f','m','t',' ');

if(mmioDescend(m_hmmio,mmckinfoSubChunk,mmckinfoParent,MMIO_FINDCHUNK))

{

//Can't find 'fmt' chunk

}

//获得 'fmt '块的大小,申请内存

dwFmtSize=mmckinfoSubChunk.cksize ;

m_hFormat=LocalAlloc(LMEM_MOVEABLE,LOWORD(dwFmtSize));

if(!m_hFormat)

{

//failed alloc memory

}

lpFormat=(WAVEFORMATEX*)LocalLock(m_hFormat);

if(!lpFormat)

{

//failed to lock the memory

}

if((unsigned long)mmioRead(m_hmmio,(HPSTR)lpFormat,dwFmtSize)!=dwFmtSize)

{

//failed to read format chunk

}

//离开 fmt 块

mmioAscend(m_hmmio,mmckinfoSubChunk,0);

//寻找 'data' 块

mmckinfoSubChunk.ckid=mmioFOURCC('d','a','t','a');

if(mmioDescend(m_hmmio,mmckinfoSubChunk,mmckinfoParent,MMIO_FINDCHUNK))

{

//Can't find 'data' chunk

}

//获得 'data'块的大小

m_dwDataSize=mmckinfoSubChunk.cksize ;

m_dwDataOffset =mmckinfoSubChunk.dwDataOffset ;

if(m_dwDataSize==0L)

{

//no data in the 'data' chunk

}

//为音频数据分配内存

lpData=new char[m_dwDataSize];

if(!lpData)

{

//faile

}

if(mmioSeek(m_hmmio,SoundOffset,SEEK_SET)0)

{

//Failed to read the data chunk

}

m_WaveLong=mmioRead(m_hmmio,lpData,SoundLong);

if(m_WaveLong0)

{

//Failed to read the data chunk

}

//检查音频设备,返回音频输出设备的性能

if(waveOutGetDeVCaps(WAVE_MAPPER,pwoc,sizeof(WAVEOUTCAPS))!=0)

{

//Unable to allocate or lock memory

}

//检查音频输出设备是否能播放指定的音频文件

if(waveOutOpen(hWaveOut,DevsNum,lpFormat,NULL,NULL,CALLBACK_NULL)!=0)

{

//Failed to OPEN the wave out devices

}

//准备待播放的数据

pWaveOutHdr.lpData =(HPSTR)lpData;

pWave

OutHdr.dwBufferLength =m_WaveLong;

pWaveOutHdr.dwFlags =0;

if(waveOutPrepareHeader(hWaveOut,pWaveOutHdr,sizeof(WAVEHDR))!=0)

{

//Failed to prepare the wave data buffer

}

//播放音频数据文件

if(waveOutWrite(hWaveOut,pWaveOutHdr,sizeof(WAVEHDR))!=0)

{

//Failed to write the wave data buffer

}

//关闭音频输出设备,释放内存

waveOutReset(hWaveOut);

waveOutClose(hWaveOut);

LocalUnlock(m_hFormat);

LocalFree(m_hFormat);

delete [] lpData;

说明:1)以上使用的音频设备和声音文件操作函数的声明包含在mmsystem.h头文件中,因此在程序中必须用#include "mmsystem.h"语句加入头文件。同时在编译时要加入动态连接导入库winmm.lib,具体实现方法是从Developer Studio的Project菜单中选择Settings,然后在Link选项卡上的Object/Library Modules控制中加入winmm.lib。2)在pWaveOutHdr.lpData中指定不同的数据,可以播放音频数据文件中任意指定位置的声音。3) 以上程序均在VC++6.0中调试通过,在文中省略了对错误及异常情况的处理,在实际应用中必须加入。

四.结论

在VC++中可以根据应用需要采用不同的方法播放声音文件。简单应用可以直接调用声音播放函数。第二种方法可以把声音作为资源加入可执行文件中。如果在播放之前要对声音数据进行处理,可用第三种方法。

参考书目:

1. 美 Paul Perry 陈向群 等译《多媒体开发指南》 清华大学出版社

2. 美 Peter Norton, Rob McGregor 孙凤英 等译《MFC开发Windows95/NT4应用程序》 清华大学出版社 1998

3. 周敬利 《多媒体声卡技术及应用》 电子工业出版社 1998

C语言如何播放mp3格式音乐

windows现有的API似乎只支持播放.wav格式的音频,mp3格式恐怕你得再去网上找找开源代码

//????播放音频?"1.wav"

#include?stdio.h

#include?windows.h

#pragma?comment(lib,"winmm.lib")

int?main()

{

????PlaySound?("1.wav",NULL,SND_FILENAME?|?SND_ASYNC?|?SND_LOOP);????

????getchar();

????return?0;

}

昂达VX898C MP3 能用5.2V±0.25V 500mA±50mA的充电器充电么

你的机器是不是刚刚买没有多久啊?昂达更新出的VX898C如果充电器没有配对的话,是会出现这样的提示的,这一批机器要配5.2V450MA的充电器才行。

cmp3v的介绍就聊到这里吧,感谢你花时间阅读本站内容。

请随时通过电话与我们联系。

平日:9:00〜17:30

免费获取报价
产品中心
关于我们
  • 地址:苏州相城区东桥聚民路68号
  • Tel:0512-66159259 Fax:0512-66159269
2002-2025 苏州东锜精密模具材料有限公司 版权所有
苏ICP备10113529号 | 法律声明 | 网站地图
人工客服 报价电话