2014-03-01 8 views
0

버튼을 누르면 소리가 나는 앱이 있습니다. 이 소리는 계속 반복되고 10-20 초 사이에 있습니다.휴대 전화 잠금 장치에서 지연되는 MediaPlayer

모든 것이 정확히 작동하지만 전원 버튼 (잠금 버튼)을 눌러 휴대 전화를 잠글 때마다 MediaPlayer의 지연이 시작되고 반복이 더 이상 끊어 지거나 연속적이지 않으므로 각 사이에 명확한 간격이 있습니다 고리.

나는 ogg 파일을 사용 중이며 화면이 켜져있을 때 눈에 띄는 간격이 없습니다.

이렇게하면 CPU가 켜져 있는지 확인하기 위해 wakelock이 필요하지만이 경우에도 전화가 잠길 때 MediaPlayer에서 눈에 띄고 중요한 지연이 있습니다.

내가 wakelock을 호출하는 방법입니다. 누구도 전에도이 같은 문제가 있었습니까?

// Create a new MediaPlayer to play this sound 
    mp = MediaPlayer.create(this, resId); 
    mp.setLooping(true); 
    PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE); 
    WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, 
    "MyWakelockTag"); 
    wakeLock.acquire();  
    mp.start(); 

답변

0

서비스로 미디어 플레이어를 사용하고 있습니까? 그렇다면 : 나는 비슷한 문제가 있었다 활동에 대한 웨이크 잠금 및 미디어 플레이어

//service: 
mPlayer = new MediaPlayer(); 
mPlayer.setWakeMode(getApplicationContext(), PowerManager.PARTIAL_WAKE_LOCK); 

//activity: 
PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE); 
wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "myWakeLock"); 
wakeLock.acquire(); 
+0

"ADB 쉘 dumpsys 전력을 설정하여, 나는이 문제를 해결 (미디어 플레이어는 잠금 화면 모드에서 즉시 때 oncompletionlistener 실행하는 데 실패) " '활동'의 'wakeLock', 'myWakeLock'은 절대로 발표되지 않는다고합니다. – John