Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获得FMOD输出progressbar&;游戏与娱乐;暂停android java活动_Java_Android_C++_Android Ndk_Fmod - Fatal编程技术网

如何获得FMOD输出progressbar&;游戏与娱乐;暂停android java活动

如何获得FMOD输出progressbar&;游戏与娱乐;暂停android java活动,java,android,c++,android-ndk,fmod,Java,Android,C++,Android Ndk,Fmod,我在android中使用FMOD库,我不知道如何获得输出进度条或快速播放/暂停/停止声音,效果如下: 我尝试使用fomd文档,我知道如何获得输出,但问题是我找不到任何东西 我是android和ndk的初学者 这是我的代码,我无法在java活动中控制播放暂停或停止并获取输出进度条: System *system; Sound *sound; DSP *dsp; Channel *channel; float frequency; bool isPlaying = true; FMOD_RESUL

我在android中使用FMOD库,我不知道如何获得输出进度条或快速播放/暂停/停止声音,效果如下:

我尝试使用fomd文档,我知道如何获得输出,但问题是我找不到任何东西

我是android和ndk的初学者

这是我的代码,我无法在java活动中控制播放暂停或停止并获取输出进度条:

System *system;
Sound *sound;
DSP *dsp;
Channel *channel;
float frequency;
bool isPlaying = true;
FMOD_RESULT result;


System_Create(&system);
if (save == 1) {
    unsigned int outputhandle;
    system->setOutput(FMOD_OUTPUTTYPE_WAVWRITER);
    system->init(32, FMOD_INIT_NORMAL,(void *) "/sdcard/sound.mp3");


} else{
    system->init(32, FMOD_INIT_NORMAL, NULL);
}


const char *path_cstr = env->GetStringUTFChars(path_jstr, NULL);

try {
    system->createSound(path_cstr, FMOD_DEFAULT, NULL, &sound);
    switch (type) {
        case TYPE_NORMAL: 
            LOGI("%s", path_cstr)
            system->playSound(sound, 0, false, &channel);
            LOGI("%s", "fix normal");
            break;
        case TYPE_LOLITA: 
            system->createDSPByType(FMOD_DSP_TYPE_PITCHSHIFT, &dsp);   
            dsp->setParameterFloat(FMOD_DSP_PITCHSHIFT_PITCH, 8.0);     
            system->playSound(sound, 0, false, &channel);
            channel->addDSP(0, dsp);
            break;

        case TYPE_UNCLE:  
            system->createDSPByType(FMOD_DSP_TYPE_PITCHSHIFT, &dsp);
            dsp->setParameterFloat(FMOD_DSP_PITCHSHIFT_PITCH, 0.8);
            system->playSound(sound, 0, false, &channel);
            channel->addDSP(0, dsp);
            break;

        case TYPE_THRILLER:  
            system->createDSPByType(FMOD_DSP_TYPE_TREMOLO, &dsp);    
            dsp->setParameterFloat(FMOD_DSP_TREMOLO_SKEW, 5);         
            system->playSound(sound, 0, false, &channel);
            channel->addDSP(0, dsp);


            break;
        case TYPE_FUNNY:  
            system->createDSPByType(FMOD_DSP_TYPE_NORMALIZE, &dsp);    
            system->playSound(sound, 0, false, &channel);
            channel->addDSP(0, dsp);

            channel->getFrequency(&frequency);
            frequency = frequency * 2;                                  
            channel->setFrequency(frequency);
            break;
        case TYPE_ETHEREAL: 
            system->createDSPByType(FMOD_DSP_TYPE_ECHO, &dsp);          
            dsp->setParameterFloat(FMOD_DSP_ECHO_DELAY, 300);           
            dsp->setParameterFloat(FMOD_DSP_ECHO_FEEDBACK, 20);        

            system->playSound(sound, 0, false, &channel);
            channel->addDSP(0, dsp);
            break;
        case TYPE_Sajjad: 

            system->createDSPByType(FMOD_DSP_TYPE_CHORUS, &dsp);
            dsp->setParameterFloat(FMOD_DSP_CHORUS_DEPTH, 90.0f);

            system->playSound(sound, 0, false, &channel);

            channel->addDSP(0, dsp);
            channel->getFrequency(&frequency);
           // frequency = frequency * 2;                                 
            channel->setFrequency(frequency);

            break;


    }
} catch (...) {
    LOGE("%s", "catch exception...")
    goto end;
}

system->update();

while (isPlaying) {
    channel->isPlaying(&isPlaying);
    usleep(1000 * 1000);
}

goto end;


end:
env->ReleaseStringUTFChars(path_jstr, path_cstr);
sound->release();
system->close();
system->release();
我是初学者,请给我一些代码