Android7.0 关机过程中随机播放关机提示音

之前给中移动做过一个产品,需要关机的过程中随机播放指定的几个音频文件以便以达到随机播放关机提示音的效果,正常的思路都是找到关机的流程,在关机的过程中播放声音,随机的话,就采用随机产生器随机产生某个范围内的数字即可。

为了完美配合长按2s自动关机需求,选择在

frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java类中的powerLongPress增加需求,如图:

 因为决定使用MediaPlayer播放提示音,那么需要在类PhoneWindowManager.java中导入

+//Merged by lefty.lan @20180803 for shutdown_ring, start
+import android.media.MediaPlayer;
+import android.media.MediaPlayer.OnCompletionListener;
+import java.util.HashSet;
+import java.util.Random;
+//end

如图:

 

       private void shutDownRing(){
               //Merged by lefty.lan @20180803 for shutdown_ring, start
               Random random = new Random();
               int num = random.nextInt(4)%(4-1+1) + 1;
               MediaPlayer mPlayer = new MediaPlayer();
               try {
                       if(mPlayer != null){
                               switch (num) {
                           case 1:
                                       mPlayer.setDataSource("/system/media/01.wav");
                                       break;
                               case 2:
                                       mPlayer.setDataSource("/system/media/02.wav");
                                       break;
                               case 3:
                                       mPlayer.setDataSource("/system/media/03.wav");
                                       break;
                               case 4:
                                       mPlayer.setDataSource("/system/media/04.wav");
                                       break;
                               }
                       mPlayer.prepare();
                       mPlayer.start();
                       try{
                               Thread.sleep(2000);
                               } catch (Exception e) {
                               //e.printStackTrace();
                       }
                       }
               } catch (Exception e) {
               e.printStackTrace();
               }

               showGlobalActionsInternal();

               if(mPlayer != null){
               mPlayer.stop();
               }
               //end
       }


总结:mPlayer使用完之后,记得释放资源,不然会出错!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值