当前位置: 首页>>代码示例>>C++>>正文


C++ Wav类代码示例

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


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


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