問題:在系統裡面播放兩個音頻檔案,一個是在鎖屏,一個是觸摸螢幕就播放。
思路:mediaPlayer有兩種方式播放音頻檔案,
MediaPlayer player = new MediaPlayer();
MediaPlayer player = MediaPlayer.create(context,R.rawXXX);
安卓螢幕的觸摸事件是在PhoneWindowManager.java 裡面,但是在這裡面是不能播放音頻的,确切的說是用new MediaPlayer();方式播放音頻不是指定的音頻檔案,可能是PhoneWindowManager不能初始化MediaPlayer,MediaPlayer.create也是不能播放;
是以沒辦法後面加了廣播,在SystenUI裡面播放音頻。
action = intent.getAction();
+ if("com.lockscreen.protect".equals(action)){
+ try{
+ player2 = MediaPlayer.create(context,R.raw.protect_voice);
+ String path = "/system/media/audio/protect_voice.mp3";
+ //player2 = new MediaPlayer();
+ if(player2 != null){
+ player2.setOnCompletionListener(new OnCompletionListener() {
+
+ @Override
+ public void onCompletion(MediaPlayer mp) {
+ //isChargingVoice = true;
+ SystemProperties.set("persist.sys.ismediaplaying","true");
+ if(player2 != null){
+ player2.reset();
+ player2.stop();
+ player2.release();
+ player2 = null;
+ }
+ }
+ });
+ }
+ player2.start();
+ player2.setLooping(false);