sajjad244 0 ارسال شده در 19 آبان، ۱۳۹۸ اشتراک گذاری ارسال شده در 19 آبان، ۱۳۹۸ سلام وقت بخیر دوستان بنده از کتابخونه FMOD برای ساخت یه برنامه تغییر صدا دارم استفاده میکنم . چندتا سئوال دارم . 1- چطوری میتونم روند ذخیره یا همون پراگرس بار ذخیره شدن رو بگیرم؟ 2- چطوری میتونم موقع پخش امکان Pause/Play/Stop و سیک بار جلو و عقب بردن اضافه کنم؟ 3- مورد بعد هم اینکه اینارو میخوام از طریق اکتیویتی جاوا کنترل کنم نه از داخل کد ++C چطوری باید انجام بدم؟ این هم کد های سمت سی پلاس پلاس که اصلش اینها هستن کد جاوا هم نیاز بود بفرمایید قرار بدم. 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(); ممنون میشم راهنمایی بفرمایید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
sajjad244 0
سلام وقت بخیر دوستان
بنده از کتابخونه FMOD برای ساخت یه برنامه تغییر صدا دارم استفاده میکنم . چندتا سئوال دارم .
1- چطوری میتونم روند ذخیره یا همون پراگرس بار ذخیره شدن رو بگیرم؟
2- چطوری میتونم موقع پخش امکان Pause/Play/Stop و سیک بار جلو و عقب بردن اضافه کنم؟
3- مورد بعد هم اینکه اینارو میخوام از طریق اکتیویتی جاوا کنترل کنم نه از داخل کد ++C چطوری باید انجام بدم؟
این هم کد های سمت سی پلاس پلاس که اصلش اینها هستن کد جاوا هم نیاز بود بفرمایید قرار بدم.
ممنون میشم راهنمایی بفرمایید
لینک ارسال
به اشتراک گذاری در سایت های دیگر
0 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.