Android试手——Dota铃声(2)

来源:未知 责任编辑:责任编辑 发表时间:2013-12-18 11:34 点击:

        configButton.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) { 
//              Toast.makeText(DotaBellActivity.this, "config", Toast.LENGTH_SHORT).show(); 
                Intent preferenceIntent=new Intent(); 
                preferenceIntent.setClass(DotaBellActivity.this, BellConfigPreference.class); 
                startActivity(preferenceIntent); 
            } 
        }); 
 
Service中就是主要的一些处理部分,包含了存放铃声的Map和播放铃声等逻辑处理,第一次做的时候由于是采用MediaPlayer来播放,出现了用户多媒体声音关闭时候没有效果的情况,后来通过AudioManager来暂时打开多媒体声音,播放完再关闭解决了这一问题。
Java代码 
//播放音效 
    private void playBell(Context context, int num) { 
        //为防止用户当前模式关闭了media音效 先将media打开 
        am=(AudioManager)getSystemService(Context.AUDIO_SERVICE);//获取音量控制 
        currentMediaStatus=am.getStreamVolume(AudioManager.STREAM_MUSIC); 
        currentMediaMax=am.getStreamMaxVolume(AudioManager.STREAM_MUSIC); 
        am.setStreamVolume(AudioManager.STREAM_MUSIC, currentMediaMax, 0); 
        //创建MediaPlayer 进行播放 
        MediaPlayer mp = MediaPlayer.create(context, getBellResource()); 
        mp.setOnCompletionListener(new musicCompletionListener()); 
        mp.start(); 
    } 
     
    private class musicCompletionListener implements OnCompletionListener { 
        @Override 
        public void onCompletion(MediaPlayer mp) { 
            //播放结束释放mp资源 
            mp.release(); 
            //恢复用户之前的media模式 
            am.setStreamVolume(AudioManager.STREAM_MUSIC, currentMediaStatus, 0); 
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Android 完全退出程序
  • 原创:Android应用开发-Andorid歌词秀,含源码
  • android 屏幕保护
  • Android手机软件汉化教程---第四课 dex文件汉化
  • 众多Android 开源项目推荐,给力工作给力学习
  • Android Audio代码分析4
  • Android得到已安装的应用程序信息!
  • Android开发者指南(29) —— USB Host and Accessory
  • Android成长的幕后推手:工程师鲁宾
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1