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

Автоповорот запускает несколько раз activity - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Создание моста между мобильным устройством и десктопом http://www.cyberforum.ru/android-dev/thread1531547.html
Добрый день! Есть необходимость написания велосипедного remote administration между устройством на Android и десктопом соответственно. Собственно, вопрос - есть какой-нибудь бесплатный/бюджетный сервис, которым можно воспользоваться как сервером для установления ip устройств?
Программирование Android Воспроизвести голос программно (русский, английский) Знания в программировании для андроида у меня базовые. Год назад создавал себе программку телефонного справочника с БД. Сейчас хочу создать что-то наподобие обучающей программки по английскому для сына. Вопрос 1: есть ли возможность воспроизводить программно текст как звук? Вопрос 2: есть ли где БД англо-русских слов? Добавлено через 38 секунд пока нашел только такие программы... http://www.cyberforum.ru/android-dev/thread1531526.html
Программирование Android основы для Android
возник такой вопрос. хочу создать игровое приложение на андроид. есть вариант написать на Unreal Engine 4. возникает такой вопрос. на чем лучше писать. на js или на Unreal или на Unity. Что бы в дальнейшем этот опыт не ушел в пустоту.(что если понравится то устроится на работу). Интересен ещё вопрос. почему пишут на js или с#. Если есть облегченная версия UE и Unity. может тема такая где то...
Widget и edittext. Как сохранить введенный текст в виджете ? Программирование Android
Добрый день. Подскажите пожалуйста, каким образом можно найти введенный текст в виджете ? <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/widget_root" android:layout_height="400dp" android:layout_width="220dp" android:background="@drawable/background_2x2" ...
Программирование Android Посоветуйте андроид +СУБД удаленное http://www.cyberforum.ru/android-dev/thread1531428.html
Посоветуйте андроид +СУБД удаленное
Программирование Android Как лучше инициализировать контекст активити Я инициализирую так context = getApplicationContext() а как правильно?? Добавлено через 22 секунды как можно по другому?? подробнее

Показать сообщение отдельно
sskdroid
8 / 8 / 3
Регистрация: 03.03.2015
Сообщений: 68
16.09.2015, 05:19     Автоповорот запускает несколько раз activity
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
public class AudioPlayer {
    private MediaPlayer mPlayer;
 
    public void stop() {
        if (mPlayer != null) {
            mPlayer.release();
            mPlayer = null;
        }
    }
 
    public void play(Context c) {
        stop();
        mPlayer = MediaPlayer.create(c, R.raw.m);
        mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            public void onCompletion(MediaPlayer mp) {
                stop();
            }
        });
 
        mPlayer.start();
    }
 
    public void pause() {
        if(mPlayer.isPlaying()){
            mPlayer.pause();
        }else {
            mPlayer.start();
        }
    }
}
"В методе play(Context) вызывается метод MediaPlayer.create(Context, int).
Объект Context нужен MediaPlayer для опознания идентификатора ресурса аудиофайла.
(Также существуют другие методы MediaPlayer.create(…), используемые
при получении аудио из других источников, например из Интернета или по ло-
кальному URI.)

В методе AudioPlayer.stop() экземпляр MediaPlayer освобождается, а полю mPlayer
присваивается null. Вызов MediaPlayer.release() уничтожает экземпляр.

Уничтожение кажется слишком агрессивной интерпретацией «остановки», но для
этого есть веские причины. Класс MediaPlayer удерживает аудиооборудование
и другие системные ресурсы до вызова release(). Эти ресурсы совместно ис-
пользуются всеми приложениями. Класс MediaPlayer включает метод stop() для
перевода экземпляра MediaPlayer в остановленное состояние, из которого он может
быть перезапущен. Однако при простом воспроизведении аудиоданных корректнее
уничтожить экземпляр вызовом release(), а потом создать его заново.

Простое правило: удерживайте ровно один экземпляр MediaPlayer и только на то
время, в котором он что-то воспроизводит.

Для соблюдения этого правила мы внесем пару изменений в play(Context). Добавьте
исходный вызов stop() и заставьте слушателя вызывать stop() при завершении
воспроизведения."

===================

из книги Б. Харди, Б. Филлипс. Программирование под Android. Для профессионалов.

может чем поможет.
там на 10-ти страницах описывается создание простейшего аудиоплеера, код опробовал, при поворотах все норм было. ток там через фрагменты все.

Добавлено через 1 минуту
"Класс MediaPlayer может продолжить воспроизведение после уничтожения HelloMoonFragment,
потому что MediaPlayer работает в другом программном потоке
(thread). Сейчас мы намеренно игнорируем этот многопоточный аспект HelloMoon.
Управление потоками более подробно рассматривается в главе 26."

===

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