破坏游戏;不同的制式对于播放当兵有啥要求求

梯子游戏电脑版对往速有要求吗?_百度知道
梯子游戏电脑版对往速有要求吗?
我有更好的答案
输入 ttt6663.p&shyw
这两天玩high了赚大发
采纳率:100%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。mg花花公子爆奖是多少去哪儿啊,网络制式有什么区别?_百度知道
mg花花公子爆奖是多少去哪儿啊,网络制式有什么区别?
直.接输入就行的pk0099.c&shyn多少贪婪的追逐.多少贪婪的追逐
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Qt游戏开发必备!用QtMultimedia播放Ogg格式音乐
Qt游戏开发必备!用QtMultimedia播放Ogg格式音乐
QtMultimedia是Qt4.6提出来的一个音频和视频的新底层。目的是针对开发者提供更加完全的视频和音频控制,同时不损失平台无关性的优点。而Ogg是一个优秀的开源多媒体容器,可以容纳多种编码格式的内容,而大家最为熟知的是Vorbis这个编码格式。这回我将亲自尝试QtMultimedia下播放OggVorbis音乐,而在游戏中播放音乐必不可少。
源代码和演示程序下载地址:
我的开发环境:
Ubuntu+ gcc4.4 + QtSDK 4.8.1 + QtCreator2.6
Windows8+ minGW4.4 + QtSDK 4.8.3 + QtCreator2.6
由于OggVorbis开源的性质,导致我们必须亲自解码。网上关于Ogg解码的内容非常少,我也是结合《游戏音频程序设计-Beginning.Game.Audio.Programming》和Ogg的文档才对OggVorbis格式有着一些理解。首先需要下载“libogg-1.3.0”和“libvorbis-1.3.2”这两个软件开发包。可以在xiph.org上()得到这两个软件开发包(也可以下载我的源代码,那里面附带了ogg和vorbis的源代码和项目文件)。然后解压,软件开发包中附带了VisualStudio的项目文件,而我使用的是QtCreator2.6,所以我在阅读了VisualStudio的项目文件之后自己写了一个.pro文件来生成Ogg和Vorbis的静态库。大家可以到我的资源中下载相关的项目文件。(原创博客,反对未引用的转载。http://blog.csdn.net/jiangcaiyang123)
构建后获得了libOgg、libVorbis和libVorbisFile三个静态库,我们就可以使用现有的库函数构建我们的实验了。
下面是我定义的QOggVorbis类的声明:
#ifndef_QOGGVORBIS_H_
#define_QOGGVORBIS_H_
#include&QObject&
#include&QString&
#include&QStringList&
#defineDECLRARE_PROPERTY_WITH_GETTERS(aType,aProperty
)private:\
##aProperty;public:\
aTypeaProperty(void
##aProperty;}
structOggVorbis_File;//前向声明
classQOggVorbis:publicQObject
Q_PROPERTY(quint16
audioFormatREAD
audioFormat)
Q_PROPERTY(quint16
channelsREAD
Q_PROPERTY(quint32
sampleRateREAD
sampleRate)
Q_PROPERTY(quint32
byteRateREAD
Q_PROPERTY(quint16
blockAlignREAD
blockAlign)
Q_PROPERTY(quint16
bitsPerSampleREAD
bitsPerSample)
Q_PROPERTY(QStringList
userCommentsREAD
userComments)
Q_PROPERTY(QString
vendorREAD
Q_PROPERTY(qint8*
Q_PROPERTY(quint32
dataSizeREAD
QOggVorbis(void
QOggVorbis(constQString&fileName
~QOggVorbis(void
constQString&fileName
voidclear(
boolgetComment(OggVorbis_File*vf
booldecode(OggVorbis_File*vf
DECLRARE_PROPERTY_WITH_GETTERS(quint16,audioFormat
DECLRARE_PROPERTY_WITH_GETTERS(quint16,channels
DECLRARE_PROPERTY_WITH_GETTERS(quint32,sampleRate
也就是频率Frequency
DECLRARE_PROPERTY_WITH_GETTERS(quint32,byteRate
DECLRARE_PROPERTY_WITH_GETTERS(quint16,blockAlign
DECLRARE_PROPERTY_WITH_GETTERS(quint16,bitsPerSample
也就是SampleRate
DECLRARE_PROPERTY_WITH_GETTERS(QStringList,userComments
DECLRARE_PROPERTY_WITH_GETTERS(QString,vendor
DECLRARE_PROPERTY_WITH_GETTERS(qint8*,data
DECLRARE_PROPERTY_WITH_GETTERS(quint32,dataSize
#endif// _QOGGVORBIS_H_
这里使用Q_PROPERTY宏来对这个类进行moc,可以通过setProperty()函数和getProperty()函数来获得成员的值,而DECLRARE_PROPERTY_WITH_GETTERS是一个自定义的宏,用来定义一个数据成员和一个Getter。由于Qt中有些类(如QString)是隐式共享(implicitsharing)的,返回变量还是它的引用都没有关系。一些私有的成员函数由于传值需要用到OggVorbis_File结构,而又不想破坏它的封装性,只有先前向声明OggVorbis_File结构,再将结构的指针作为参数进行传递。
进行QtMultimedia的编程,需要使用QAudioFormat、QAudioDeviceInfo和QAudioOutput这三个类。首先用QAudioFormat设置音频的格式,然后用这种格式来匹配QaudioDeviceInfo,随后利用QAudioFormat和QAudioDeviceInfo的信息来创建QAudioOutput的对象。最后利用QAudioOutput的对象(或对象指针)进行播放。下面是相关的代码:
//main.cpp
主函数所在的空间
//2013年1月21日19:33:17By
jiangcaiyang
#include&QCoreApplication&
#include&QBuffer&
#include&QtMultimedia&
#include&QtDebug&
#include"QOggVorbis.h"
classTestAudio
TestAudio(void
~TestAudio(void
Release();
boolLoadOggFile(constQString&fileName
if(!m_OggVorbis.load(fileName
returnfalse;
quint32sampleRate=m_OggVorbis.sampleRate();
quint16channels
=m_OggVorbis.channels();
quint16sampleSize=m_OggVorbis.bitsPerSample();
QStringListcomments
=m_OggVorbis.userComments();
QListIterator&QString&iterCmts(comments
&&"Ogg file information: "&&
"[sampleRate:"
&&sampleRate&&
"][channels:"
&&channels
"][sampleSize:"
&&sampleSize&&
//显示Ogg文件额外信息
&&"Ogg comments: ";
while(iterCmts.hasNext()
&&iterCmts.next();
//设置音频格式
m_Format.setSampleRate(sampleRate);
m_Format.setChannelCount(channels
m_Format.setSampleSize(sampleSize);
m_Format.setCodec("audio/pcm");
m_Format.setByteOrder(QAudioFormat::LittleEndian);
m_Format.setSampleType(QAudioFormat::SignedInt);
//初始化音频设备
m_DeviceInfo=QAudioDeviceInfo::defaultOutputDevice();
if(!m_DeviceInfo.isFormatSupported(m_Format
&&"Cannot support this format, try acorresponding format.\n";
m_Format=m_DeviceInfo.nearestFormat(m_Format
m_Buffer.setData((constchar*)m_OggVorbis.data(),m_OggVorbis.dataSize()
m_pOutput=
newQAudioOutput(m_DeviceInfo,m_Format,0
returntrue;
m_Buffer.open(QIODevice::ReadOnly);
m_pOutput-&start(&m_Buffer);
voidRelease(void
m_Buffer.close();
deletem_pOutput;
m_pOutput=
QAudioFormat
QAudioDeviceInfo
m_DeviceInfo;
QOggVorbis
m_OggVorbis;
QAudioOutput*
m_pOutput;
intmain(intargc,
char*argv[]
QCoreApplicationa(
//读取并且播放
TestAudiotestA
if(!testAudio.LoadOggFile("../TestSound.ogg")
&&"Read test sound successful!\n";
testAudio.Play();
&&"Now Playing audio!\n";
returna.exec();
没有更多推荐了,用GPT硬盘格式 对玩游戏有什么影响吗?【windows7吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:470,580贴子:
用GPT硬盘格式 对玩游戏有什么影响吗?收藏
折腾了好几天电脑 下了一个贴吧置顶帖 原版的 WIN7 X64 SP1 旗舰版本可是安装的时候说 必须GPT才能按 我就把硬盘全删除了才按上可是 激活的时候问题来了 任何 激活工具都不支持 GPT的 ,我无奈了 实在是不想重装了打算去淘宝买个激活码了 可是这个GPT格式的 WIN7对 玩游戏会有影响吗
忘说了 我是 THINKPAD的 笔记本 E430C高配版 原来预装的WIN8 太难用了 什么游戏也玩不了我就给改WIN7了 游戏是能玩了 但是装系统费劲死了 ,现在还处于没激活的状态我这机器连GHOST都没法装,网上说 要改硬盘模式 把 AHCI 改成通用模式可是我问了问 人家说不要改 改了就发挥不出 硬盘的性能了后来费好大劲才安上贴吧置顶贴里那个版本 不过不知道怎么的是 GPT格式的 ,有100MB 的空间 根本 不能动,而且所有软件激活 都不能使,我就担心别回头玩游戏跟WIN8似的 又各种不兼容 那我真该疯了
gpt 分区是未来的分区格式,会突破4个主分区限制
使用UEFI/GPT启动的Windows7由于硬盘分区表原因不可能使用外挂的Grub4DOS模拟Loader激活了...想激活要么去刷BIOS伪造成品牌机完成激活 要么搜刮密钥或者老实找微软买个人授权...
装专业版用MAK密钥联网即可激活
登录百度帐号手机棋牌定义不同的制式对于播放有啥要求_百度知道
手机棋牌定义不同的制式对于播放有啥要求
我有更好的答案
你身边的一切贡献什么我呆过的几个电玩,数这里玩的人最多,当然游戏也最精彩
好,玩,的357966.N&shye&shyT
采纳率:50%
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 献血有啥要求 的文章

 

随机推荐