The NoteBook of EricKong

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks

1.震动

先说简单的,震动提示

第一步,在AndroidManifest.xml 里声明权限

 <uses-permissionandroid:name="android.permission.VIBRATE"/>

第二步,获得震动服务并启动

 Vibrator vibrator = (Vibrator)activity.getSystemService(Context.VIBRATOR_SERVICE);

vibrator.vibrate(newlong[]{300,500},0);

经过以上两步,就启动震动了。上述代码直接在程序中调用就可以了,这个是比较简单的,比大象放冰箱要少一步。Vibrate()的参数网上能查到,看看就知道了。

2.提示铃声

第一步,1.准备一个音频文件比如:beep.ogg。先把音频文件导入到res/raw文件夹下,需要注意的是这个文件下的文件名必须是小写,之后导入即可。

第二步,为activity注册的默认音频通道。这个一般在onCreate()函数中注册即可。

 activity.setVolumeControlStream(AudioManager.STREAM_MUSIC);

第三步,检查当前情景模式,确定不要是静音。

第四步,初始化MediaPlayer对象,指定播放的声音通道为 STREAM_MUSIC,这和上面的步骤一致,指向了同一个通道。

 MediaPlayer mediaPlayer = new MediaPlayer();//这个我定义了一个成员函数

 mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

第五步,注册事件。当播放完毕一次后,重新指向流文件的开头,以准备下次播放。

 mediaPlayer .setOnCompletionListener(newMediaPlayer.OnCompletionListener() {

        @Override

public voidonCompletion(MediaPlayer player) {

        player.seekTo(0);

        }

 });

第六步,设定数据源,并准备播放

AssetFileDescriptor file =activity.getResources().openRawResourceFd(

 R.raw.beep);

 try{

 mediaPlayer.setDataSource(file.getFileDescriptor(),

 file.getStartOffset(), file.getLength());

 file.close();

 mediaPlayer.setVolume(BEEP_VOLUME,BEEP_VOLUME);

 mediaPlayer.prepare();

 }catch (IOException ioe) {

 Log.w(TAG, ioe);

 mediaPlayer = null;

 }

第七步,开始播放

mediaPlayer.start();

 

经过以上几步,就可以实现手机的铃声了。

posted on 2014-11-25 13:38 Eric_jiang 阅读(1295) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: