700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 人机交互课程设计

人机交互课程设计

时间:2021-12-18 00:07:22

相关推荐

人机交互课程设计

实验要求:

实验上交材料:

•一个组上交一个文件夹,包含:

•实验源码一份

•实验视频demo,包括配音解说一份

•每一组交一份实验的总体技术报告,包括系统框架,交互设计,交互技术和实现、交互系统展示、用户评估等几个方面(注意:需要针对系统完成一个完整的可用性评估报告)

•每个人交一份实验工作报告,介绍自己工作内容

实验开始:

首先测试百度的语音识别sdk

1.mainfest-权限,具体应用,服务

2.必要文件加载进来,lib和jniLibs

3.在jar文件右击addtolib...

4.导入模板进行测试。

5.对测试结果进行显示。

6.横屏打印出信息。重新构造textview类,调用toast的setview方法。参考

7.在主界面实现悬浮按钮作为语音输入。

在播放音频方面

mediaplayer显得不太合适,,,这里显示它适合播放什么样的音频。

采用的是SoundPool。。。(百度这个技术的好处)

音频的初始化:

sp = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);sounddata = new HashMap<Integer, Integer>();sounddata.put(WATRE, sp.load(this, R.raw.water, 1));sounddata.put(PEOPLE, sp.load(this, R.raw.people, 1));sounddata.put(BIRD, sp.load(this, R.raw.bird, 1));sounddata.put(WIND, sp.load(this, R.raw.wind, 1));sounddata.put(XIQU, sp.load(this, R.raw.xiqu, 1));sounddata.put(TAOJIAHUANJIA, sp.load(this, R.raw.taojiahuanjia, 1));sp.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener(){@Overridepublic void onLoadComplete(SoundPool sound,int sampleId,int status){isLoaded=true;Toast.makeText(Main2Activity.this,"音效加载完成!",Toast.LENGTH_SHORT);}});

播放音频和停止播放方面也很方便:调用下面这个函数,传入想播放的音频在sounddata里的位置,循环播放次数,以及优先级和播放的声音大小,1是最大。

public void playSound(int sound, int loop,int p,int v) {AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);float audioMaxVolumn = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);float volumnCurrent = am.getStreamVolume(AudioManager.STREAM_MUSIC);float volumnRatio = volumnCurrent /(v* audioMaxVolumn);sp.play(sounddata.get(sound),volumnRatio,// 左声道音量volumnRatio,// 右声道音量p, // 优先级loop,// 循环播放次数1);// 回放速度,该值在0.5-2.0之间 1为正常速度}

关键调用函数:

playSound(WIND,5,1,1);//播放音乐

sp.pause(WIND);//停止播放

在图片拖动方面:

对ImageView进行触碰监听,判断是对图片进行了哪种操作:拖拉拽,放大缩小等,或者进行双击回到图片开始的位置。

图片拖动和音频结合:

按住悬浮按钮进行语音输入,输入后进行判别,如果识别成功则跳转至制定位置,并进行音频播放。

public boolean analyseInputYuYin(){for(int i=0;i<place.length;i++){if(place[i].indexOf(final_result)!=-1){toastuser("已识别为:"+place[i]);movetoPosiOfPic(i);return true;}}toastuser("未成功定位");return false;}//通过语音定位到制定位置public void movetoPosiOfPic(int i){float target=-(initposiOfSpot(i)*finalScale-center_P_y);center_P_y-=target;if(center_P_y>downOfCenter){center_P_y=downOfCenter;}if(center_P_y<upOfCenter){center_P_y=upOfCenter;}Log.e("移动",""+center_P_y);matrix.postTranslate(0, target);imgView.setImageMatrix(matrix);Log.e("移动",""+target);soundOfJiaowai(false);soundOfJieDao(false);soundOfMatou(false);if(i==0){//郊外soundOfJiaowai(true);}else if(i==1){//码头soundOfMatou(true);}else if(i==2){//街道soundOfJieDao(true);}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。