• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ Wav类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中Wav的典型用法代码示例。如果您正苦于以下问题:C++ Wav类的具体用法?C++ Wav怎么用?C++ Wav使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Wav类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: DERROR

bool ProgramState::dumpToFile()
{
    if(!runningDump())
    {
        DERROR("not running dump");
        return false;
    }
   
    Wav w;
    w.make(wavdump->getBytes(),dumpoff*2 /*bytes*/,getSampleRate(),nchan,16);
   
    string fname = running_dump_name;
    DASSERT(fname.size()>0);
   
    w.save(fname,true);
    cout << "wrote: " << fname.c_str() << endl;
    w.del();
   
    delete wavdump;
    wavdump=NULL;
    dumplen=0;
   
    return true;
   
}
开发者ID:tenso,项目名称:subphonic,代码行数:25,代码来源:progstate.cpp


示例2: create

///
/// オーディオリソース生成
AudioResourcePtr AudioResource::create(
    const t3::File& file    ///< ファイル
) {    
    //  とりあえず.wavだけサポート
    Wav wav;
    wav.setup(file);
    
    //  リソース生成
    AudioResourcePtr res;
    res.reset(T3_SYS_NEW AudioResource);
    res->resourceName(file.name().c_str());
    res->setupBuffer(wav);
    res->createHandle();
    return res;
}
开发者ID:doscoy,项目名称:tri_engine,代码行数:17,代码来源:tri_audio_resource.cpp


示例3: T3_ASSERT_MSG

///
/// オーディオリソース生成
AudioResourcePtr AudioResource::create(
    FilePath& filepath  ///< ファイルパス
) {
    //  未サポート判定
    T3_ASSERT_MSG(filepath.ext() == ".wav", "%s is not support. only supported .wav", filepath.filename().c_str());
    
    //  とりあえず.wavだけサポート
    Wav wav;
    wav.load(filepath);
    
    //  リソース生成
    AudioResourcePtr res;
    res.reset(T3_SYS_NEW AudioResource);
    res->setupBuffer(wav);
    res->resourceName(filepath.filename().c_str());
    res->createHandle();
    return res;
}
开发者ID:doscoy,项目名称:tri_engine,代码行数:20,代码来源:tri_audio_resource.cpp


示例4: T3_SYSTEM_LOG

///
/// バッファ構築
void AudioResource::setupBuffer(
    const Wav& wav  ///< 元となるサウンドデータ
) {
    //  オーディオフォーマット調査
    cross::AudioSystem::AudioFormat format;

    if (wav.channel() == 1) {
        // モノラル
        if (wav.bitPerSample() == 8) {
            format = cross::AudioSystem::AudioFormat::MONO_8;
        }
        else {
            format = cross::AudioSystem::AudioFormat::MONO_16;
        }
    }
    else {
        // ステレオ
        if (wav.bitPerSample() == 8) {
            format = cross::AudioSystem::AudioFormat::STEREO_8;
        }
        else {
            format = cross::AudioSystem::AudioFormat::STEREO_16;
        }
    }
    
    //  バッファ生成
    cross::AudioSystem::setBufferData(
        id_,
        format,
        wav.getData(),
        wav.size(),
        wav.samplingRate()
    );
 
    //  生成ログ出力
    T3_SYSTEM_LOG("create Wav\n");
    T3_SYSTEM_LOG(" channel %d\n", wav.channel());
    T3_SYSTEM_LOG(" bit sample %d\n", wav.bitPerSample());
    T3_SYSTEM_LOG(" rate %d\n", wav.samplingRate());
    T3_SYSTEM_LOG(" size %d\n", wav.size());

}
开发者ID:doscoy,项目名称:tri_engine,代码行数:44,代码来源:tri_audio_resource.cpp


示例5: Wav_set3dDopplerFactor

void Wav_set3dDopplerFactor(void * aClassPtr, float aDopplerFactor)
{
	Wav * cl = (Wav *)aClassPtr;
	cl->set3dDopplerFactor(aDopplerFactor);
}
开发者ID:Itaros,项目名称:soloud,代码行数:5,代码来源:soloud_c.cpp


示例6: Wav_set3dAttenuation

void Wav_set3dAttenuation(void * aClassPtr, unsigned int aAttenuationModel, float aAttenuationRolloffFactor)
{
	Wav * cl = (Wav *)aClassPtr;
	cl->set3dAttenuation(aAttenuationModel, aAttenuationRolloffFactor);
}
开发者ID:Itaros,项目名称:soloud,代码行数:5,代码来源:soloud_c.cpp


示例7: Wav_stop

void Wav_stop(void * aClassPtr)
{
	Wav * cl = (Wav *)aClassPtr;
	cl->stop();
}
开发者ID:Itaros,项目名称:soloud,代码行数:5,代码来源:soloud_c.cpp


示例8: Wav_setInaudibleBehavior

void Wav_setInaudibleBehavior(void * aClassPtr, int aMustTick, int aKill)
{
	Wav * cl = (Wav *)aClassPtr;
	cl->setInaudibleBehavior(!!aMustTick, !!aKill);
}
开发者ID:Itaros,项目名称:soloud,代码行数:5,代码来源:soloud_c.cpp


示例9: Wav_set3dColliderEx

void Wav_set3dColliderEx(void * aClassPtr, AudioCollider * aCollider, int aUserData)
{
	Wav * cl = (Wav *)aClassPtr;
	cl->set3dCollider(aCollider, aUserData);
}
开发者ID:Itaros,项目名称:soloud,代码行数:5,代码来源:soloud_c.cpp


示例10: Wav_set3dDistanceDelay

void Wav_set3dDistanceDelay(void * aClassPtr, int aDistanceDelay)
{
	Wav * cl = (Wav *)aClassPtr;
	cl->set3dDistanceDelay(!!aDistanceDelay);
}
开发者ID:Itaros,项目名称:soloud,代码行数:5,代码来源:soloud_c.cpp


示例11: Wav_loadMemEx

int Wav_loadMemEx(void * aClassPtr, unsigned char * aMem, unsigned int aLength, int aCopy, int aTakeOwnership)
{
	Wav * cl = (Wav *)aClassPtr;
	return cl->loadMem(aMem, aLength, !!aCopy, !!aTakeOwnership);
}
开发者ID:Itaros,项目名称:soloud,代码行数:5,代码来源:soloud_c.cpp


示例12: Wav_loadMem

int Wav_loadMem(void * aClassPtr, unsigned char * aMem, unsigned int aLength)
{
	Wav * cl = (Wav *)aClassPtr;
	return cl->loadMem(aMem, aLength);
}
开发者ID:Itaros,项目名称:soloud,代码行数:5,代码来源:soloud_c.cpp


示例13: Wav_load

int Wav_load(void * aClassPtr, const char * aFilename)
{
	Wav * cl = (Wav *)aClassPtr;
	return cl->load(aFilename);
}
开发者ID:Itaros,项目名称:soloud,代码行数:5,代码来源:soloud_c.cpp


示例14: DERROR

int SampleHold::loadDir(const string& path)
{
    ProgramState& progstate = ProgramState::instance();

    if(path.size()==0)
    {
        DERROR("path empty");
        return 1;
    }

    FileDir fd;
    bool exist = fd.read(path, false, ".wav", false, false);
    if(!exist)
    {
        DERROR("(E) SampleHold loadDIR(): no such dir!");
        return 1;
    }

    vector<string> files;
    fd.getFiles(files);

    if(files.size()==0)return 0;

    for(unsigned int i=0; i<files.size(); i++)
    {
        Wav w;

        string str=path+files[i];

        //FIXME: better errorchecking!
        Wav::err ret = w.load(str);
        //w.info();

        if(ret==Wav::FILE_NOTFOUND_ERR)continue;

        //something went wrong but probably file does not exist...
        if(!w.ok())
        {
            DERROR("something wrong happend");
            continue;
        }

        WavSample* samp;
        if(w.isStereo())
        {
            SampleValue* l = new SampleValue(w.makeSample(Wav::EXTRACT_LEFT));
            l->setResampleRate(w.getSampleRate(), progstate.getSampleRate());

            SampleValue* r = new SampleValue(w.makeSample(Wav::EXTRACT_RIGHT));
            r->setResampleRate(w.getSampleRate(), progstate.getSampleRate());


            samp = new WavSample(files[i], l,r);
        }
        else
        {
            SampleValue* m = new SampleValue(w.makeSample(Wav::EXTRACT_ALL));
            m->setResampleRate(w.getSampleRate(), progstate.getSampleRate());

            samp = new WavSample(files[i], m);
        }
        samples.push_back(samp);

        w.del();
    }

    return 0;
}
开发者ID:tenso,项目名称:subphonic,代码行数:68,代码来源:g_wav.cpp


示例15: Wav_set3dProcessing

void Wav_set3dProcessing(void * aClassPtr, int aDo3dProcessing)
{
	Wav * cl = (Wav *)aClassPtr;
	cl->set3dProcessing(!!aDo3dProcessing);
}
开发者ID:Itaros,项目名称:soloud,代码行数:5,代码来源:soloud_c.cpp


示例16: Wav_set3dListenerRelative

void Wav_set3dListenerRelative(void * aClassPtr, int aListenerRelative)
{
	Wav * cl = (Wav *)aClassPtr;
	cl->set3dListenerRelative(!!aListenerRelative);
}
开发者ID:Itaros,项目名称:soloud,代码行数:5,代码来源:soloud_c.cpp


示例17: Wav_loadFile

int Wav_loadFile(void * aClassPtr, File * aFile)
{
	Wav * cl = (Wav *)aClassPtr;
	return cl->loadFile(aFile);
}
开发者ID:Itaros,项目名称:soloud,代码行数:5,代码来源:soloud_c.cpp


示例18: Wav_set3dCollider

void Wav_set3dCollider(void * aClassPtr, AudioCollider * aCollider)
{
	Wav * cl = (Wav *)aClassPtr;
	cl->set3dCollider(aCollider);
}
开发者ID:Itaros,项目名称:soloud,代码行数:5,代码来源:soloud_c.cpp


示例19: Wav_getLength

double Wav_getLength(void * aClassPtr)
{
	Wav * cl = (Wav *)aClassPtr;
	return cl->getLength();
}
开发者ID:Itaros,项目名称:soloud,代码行数:5,代码来源:soloud_c.cpp


示例20: Wav_set3dAttenuator

void Wav_set3dAttenuator(void * aClassPtr, AudioAttenuator * aAttenuator)
{
	Wav * cl = (Wav *)aClassPtr;
	cl->set3dAttenuator(aAttenuator);
}
开发者ID:Itaros,项目名称:soloud,代码行数:5,代码来源:soloud_c.cpp



注:本文中的Wav类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ WavAudioFormat类代码示例发布时间:2022-05-31
下一篇:
C++ Water类代码示例发布时间:2022-05-31
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap