`
kerlubasola
  • 浏览: 678840 次
文章分类
社区版块
存档分类
最新评论

Android Audio代码分析19 - setPosition函数

 
阅读更多
之前我们看过get position,今天来看看set position。


*****************************************源码*************************************************

**********************************************************************************************
源码路径:
frameworks\base\media\tests\mediaframeworktest\src\com\android\mediaframeworktest\functional\MediaAudioTrackTest.java


#######################说明################################

###########################################################


&&&&&&&&&&&&&&&&&&&&&&&总结&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
set position改变的其实是audio_track_cblk_t结构体中的server成员。
也就是AudioMixer中从audio_track_cblk_t中copy数据时的起始地址。
这儿设置position有个限制,就是不能跑到user前面去,
即不能让取数据的其实地址超出已写数据的范围。
在播放器中,大幅度拖动进度条,改变的应该是读取文件时的地址,

而不是audio_track_cblk_t对象中的地址。


另外,只能在stop的状态下才能改变position。

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
分享到:
评论

相关推荐

    CODESYS运动控制之MC_SetPosition.doc

    CODESYS运动控制之MC_SetPosition 1:在《CODESYS运动控制之MC_ReadActualPosition》程序的基础上,增加新功能块MC_SetPosition,用来实现对轴运动位置的设置。 1.1程序中新添加功能块MC_SetPosition,对其变量自动...

    汇川PLC运动控制

    数控系统多轴连控,实现直线插补,圆弧插补,凸轮,齿轮相结合

    cocos2d-x的粒子创建

    //加载大炮的炮台效果和图标效果,如果这里的代码与上面的代码前后顺序更改,则会出现炮台效果在水波下面显示。不是没有显示,只是遮挡关系的原因。而看不见 texture=CCTextureCache::sharedTextureCache()->...

    cocos2dx 雷电MoonWarriors_游戏源码

    cocos2dx 雷电MoonWarriors_游戏源码 #include "GameLayer.h" #include "SimpleAudioEngine.h" #include "Bullet.h" #include "Resource.h" #include "Config.h" #include "Enemy.h" #include "Effect.h" #include ...

    Android代码-一个小型的动画库,让你的文字有个漂亮的显示(比如:家家,我要和你生猴子之类)

    TextSurface A little animation framework which could help you to show message in... .setPosition(Align.SURFACE_CENTER).build(); Create animations and pass them to the TextSurface instance:textSurface.pl

    Codesys跟随指令实现非线性函数(正弦、椭圆)的轴联动功能源程序

    Codesys使用跟随指令followposition,实现两轴之间非线性函数关系的联动功能,正弦函数,椭圆函数等都可以用此指令,可通过可视化仿真模拟验证,codesys版本为V3.5.14.10参考博客地址:...

    cocos2dx 3.3 实现再按一次退出游戏 类代码

    实现安卓app再按一次退出游戏效果,自己研究的,不知道对不对,反正自己测试已经实现按两次返回键退出,只要在需要监听的地方加入如下代码就可以 #include "againExit.h" ... auto x=againExit::create(); //坐标...

    cocos2d-x 读取xml

    在cocos2d-x 中读取xml文件 用法: XMLParser *pXmlParser = XMLParser::parseWithFile("strings.xml");... pLabel->setPosition(ccp(size.width / 2, size.height - 30)); this->addChild(pLabel, 1);

    锚点解析1

    锚点解析2014-3-7所谓锚点,就是你要指定你设置的那个点(这个点,一般是用setPosition函数设定的)是图片的那个点(是中点,左上角点还是其他点)。锚

    codesys三轴圆弧(螺旋)插补G代码.rar

    使用禾川Q0中型PLC,编程软件codesys3.5,通过G代码实现2轴圆弧插补,3轴螺旋插补的编程案例,可通过可视化界面验证结果,附视频 参考博客地址:https://blog.csdn.net/qq_19979629/article/details/122181106 ...

    cocos2d-x动画资源

    cocos2d-x的动画资源素材,在cocos2d-x中添加如下代码使用: //动画 //创建一个缓存 auto cache = SpriteFrameCache::getInstance(); //先把图片读入内存 cache->addSpriteFramesWithFile("anim.plist"); ...

    CCMask:使用 cocos2d-x v2.0 屏蔽 CCSprite

    object->setPosition(ccp(mask->getContentSize().width/2, mask->getContentSize().height/2));// Create a masked imageCCMask* masked = CCMask::create(mask , object);masked->setPosition(cc

    android笔试题目汇总及答案

    android笔试题目汇总及答案: 1.关于线程下面描述错误的是:( D ) A. 如果线程处于死亡状态,则它不是Runnable线程 B. 线程可以将控制权交给较低优先级的线程 C. 在Java中,较高优先级的Runnable线程应抢在较低...

    cocos2d象棋游戏

    代码简单,注释完整,可直接运行 //摆棋子 for(int i=0; i; i++) {//创建棋子 _s[i] =Stone::create(i, red); addChild(_s[i]); //设置棋子的初始位置为随机位置 _s[i]->setPosition(ccp(CCRANDOM_0_1() * ...

    【JavaScript源代码】js通过audioContext实现3D音效.docx

     本文实例为大家分享了js通过audioContext实现3D音效的具体代码,供大家参考,具体内容如下 AudioContext的setPosition实现3D音效 <!DOCTYPE html>  <html lang="en">  <head>   <meta charset="UTF-8"> ...

    CODESYS 之人机界面中控件移动.doc

    CODESYS 之人机界面中控件移动 1:在《如何使用CODESYS V3.5 进行LD编程》基础上,添加控件,来实现人机界面中控件的移动 2:定义一个INT类型的变量HMI_M

    SpriteWithHue, 在 Cocos2d x 中,从 Cocos2d iPhone移植,对sprite进行色调旋转.zip

    SpriteWithHue, 在 Cocos2d x 中,从 Cocos2d iPhone移植,对sprite进行色调旋转 SpriteWithHue auto alien = SpriteWithHue::create("alien.png"); alien->setPosition(Vec2(10

    飞机模型_爱给网_aigei_com.zip

    导入代码: item = new QCustom3DItem(); item->setScaling(QVector3D(0.03f, 0.03f, 0.03f)); item->setMeshFile("toy_ airplane.obj"); item->setPosition(QVector3D(0,0,0)); this->addCustomItem(item);

    Cocos2d-x UI开发之CCControlColourPicker控件类使用实例

    下边来看源代码。 bool HelloWorld::init() { bool bRet = false; do { CC_BREAK_IF(! CCLayer::init()); //设置一个显示字符串的label CCLabelTTF * title = CCLabelTTF::create("#128128128","Arial",32...

    手机游戏桃花源记代码

    s.setPosition(53*16, 4*16-10); lm=new LayerManager(); init(); /***********以下是分场景1加入******************/ viewWindowX=53*16; guaiwu=new Vector(); img_Enemy=getImage.imglong("guaiwu...

Global site tag (gtag.js) - Google Analytics