Форум программистов, компьютерный форум CyberForum.ru

воспроизведение мр3 по расписанию - Android

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
android_
0 / 0 / 0
Регистрация: 02.08.2012
Сообщений: 2
03.08.2012, 18:31     воспроизведение мр3 по расписанию #1
Есть простой сервис, который должен воспроизвести мр3 файл ровно в 15:00.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
public class MyService extends Service {
        public static MediaPlayer mediaplayer;
        
        @Override
        public void onCreate() {
            super.onCreate();
            Thread thr = new Thread(null, new ServiceWorker(), "");
            thr.start();
        }
        class ServiceWorker implements Runnable {
            public void run() { 
            class UserTask extends TimerTask {
 
                @Override
                public void run() {
                    Date curdate = new Date();
                    int h;
                    int m;
                    int s;
                    int h2 = 15;
                    int m2 = 0;
                    int s2 = 0;
                    h = curdate.getHours();
                    m = curdate.getMinutes();
                    s = curdate.getSeconds();
                    if (mediaplayer.isPlaying()==false) { 
                    if (h==h2) { if (m==m2) { if (s==s2) {
                            mediaplayer.start();
                    } } } } 
                }
            }   
            mediaplayer = MediaPlayer.create(getBaseContext(), R.raw.sound);
            timer.schedule(new UserTask(), 0, 1000);
    }
        
        @Override
        public void onDestroy() {   
            timer.cancel();
            if (mediaplayer.isPlaying()) { mediaplayer.stop(); }
            super.onDestroy();
        }
        
        @Override
        public void onStart(Intent intent, int startId) {
            super.onStart(intent, startId);
        }
        
        @Override
        public IBinder onBind(Intent intent) {
            
            return null;
        }
        }
При включенном дисплее все работает, но при выключенной подсветке звук не воспроизводится.
Может надо как-то предотвратить переход телефона в спящий режим? Подскажите пожалуйста,
что я не так делаю.

Добавлено через 22 часа 13 минут
Решил проблему использовав PowerManager и WakeLock. Код:
Java
1
2
3
4
PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);
WakeLock wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
                                   "MyWakeLock");
wakeLock.acquire();
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.08.2012, 18:31     воспроизведение мр3 по расписанию
Посмотрите здесь:

Android Воспроизведение аудио
Android Воспроизведение звука (ничего не получается)
Воспроизведение потокового аудио Android
Android Выполнение действий по расписанию
Воспроизведение AudioStream (Протокол RTP) Android
Android Запускать будильник по расписанию (Андроид 2.3.4)
Воспроизведение видео- анимации Android
Воспроизведение видео в SurfaceView Android
Получение данных по расписанию Android
Android Остановка / воспроизведение аудио
Android Воспроизведение аудио друг за другом
Android Воспроизведение аудиопотока из интернета

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 15:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru