FMOD的循环播放
来源:互联网 发布:android记账软件源码 编辑:程序博客网 时间:2024/04/26 05:00
1. 如何实现在两点间循环播放
(1)Sound的创建必须是FMOD_SOFTWARE, 或者FMODE_CREATESTREAM类型
(2)Channel::setMode要使用LOOP相关的枚举
(3)之后当然可以调用 setLoopCount, setLoopPoints的相关接口了
例如:
jint Java_eugen_mymusic_PlayCtrl_playSound (JNIEnv *env, jobject thiz, jstring filepath){if( !g_pSystem )return -1;Java_eugen_mymusic_PlayCtrl_stopSound( env, thiz, 0 );std::string cFilePath = jstring2str( env, filepath );LOG_DEBUG("Begin to play sound: %s", cFilePath.c_str() );FMOD::Sound* sound = 0;FMOD_RESULT result = g_pSystem ->createSound( cFilePath.c_str(), FMOD_SOFTWARE|FMOD_CREATESTREAM , 0, &sound); ERRCHECK(result); if( sound == 0 ) return -2; FMOD::Channel* channel = 0; g_pSound = sound; result = g_pSystem ->playSound(sound, 0, false, &channel); ERRCHECK(result); if( !channel ){ LOG_DEBUG("Fail to create channel" ); return -3; } g_pCurChannel = channel; return 0;}
void Java_eugen_mymusic_PlayCtrl_setSoundLoopPoint (JNIEnv *env, jobject thiz, jint id, jint start, jint end){if( !g_pSystem || !g_pSound ){return;}if( g_pCurChannel == 0 ){LOG_DEBUG( "Fail to set loop points" );}else{FMOD_RESULT res = g_pCurChannel ->setMode( FMOD_LOOP_NORMAL );ERRCHECK( res );g_pCurChannel ->setLoopCount( -1 );g_pCurChannel ->setLoopPoints( start, FMOD_TIMEUNIT_MS, end, FMOD_TIMEUNIT_MS );g_pCurChannel ->setPosition( (unsigned)start, FMOD_TIMEUNIT_MS );g_pCurChannel ->setPaused( false );}}
0 0
- FMOD的循环播放
- 简单的调用fmod的播放器构架
- FMOD.dll的介绍
- fmod的细节
- 学习fmod的使用
- Fmod学习3将音频文件变音播放
- FMOD
- fmod
- 自动循环播放的MP3播放器
- 自动循环播放的MP3播放器
- 自动循环播放的MP3播放器
- 自动循环播放的MP3播放器
- 自动循环播放的MP3播放器
- 自动循环播放的MP3播放器
- 自动循环播放的MP3播放器
- 自动循环播放的MP3播放器
- 自动循环播放的MP3播放器
- 自动循环播放的MP3播放器
- 字符串模式匹配算法——BM、Horspool、Sunday、KMP、KR、AC算法
- SharePoint品牌化和自定义--创建会议工作区母版页
- 一个多月找实习的经历
- 黑马程序员——学习日记1 我的程序员之路
- android apk反编译
- FMOD的循环播放
- ZeroCrawler V0.1:多线程爬虫
- 浏览器渲染过程中的reflow是什么
- Eclipse使用
- java表达式,语句和块
- 字符串的拆分方法
- C语言之桶排序
- Openstack & Hadoop结合项目Sahara
- 深入分析Linux自旋锁