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

Static MediaPlayer - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Включение wifi роутера http://www.cyberforum.ru/android-dev/thread1667315.html
Доброго времени суток всем. На android никогда ничего не писал, но нужно срочно сделать небольшую программу: Включение wifi роутера по времени, значок wifi роутера не показан вверху(не извещает что...
Программирование Android Что будет в случае пересоздания активити Вот у меня есть активити и сервис. В активити есть, к примеру TextView и сервис производит какие то вычисления и передает результат в активити, активити отображает результат в TextView. В активити в... http://www.cyberforum.ru/android-dev/thread1667311.html
SIP СофтФон с нуля Программирование Android
Здравствуйте дорогие друзья. Есть задачка создание своего СофтФона. Как писать, с чего начать, представлении не имею. Посоветуйте мне пожалуйста по какому пути мне идти. какие литеры почитать....
Функция возвращает false Программирование Android
Смотрю через Debug, после return true в области try переходит на return false в catch (при этом пропуская ERROR = false;ERROR_TEXT = e.getMessage();). Почему так? Ведь метод должен прекратить работу...
Программирование Android Замена изображения в imageview по нажатию http://www.cyberforum.ru/android-dev/thread1667243.html
Всем привет! Такой вопрос: Нажимаю на imagevie и хочу что бы менялось изображение. Имеется 3 лаяута в которых есть такой код: <ImageView android:layout_width="60dp" ...
Программирование Android Обработка длительного нажатия В игре нужно перемещать предмет тогда, когда палец на экране: пальцем касаюсь экрана (не важно, в какой области и сколько времени) и удерживаю его в одной точке и предмет перемещается всё это время,... подробнее

Показать сообщение отдельно
Smurfix
1 / 1 / 0
Регистрация: 21.02.2016
Сообщений: 27

Static MediaPlayer - Программирование Android

21.02.2016, 11:33. Просмотров 271. Ответов 8
Метки (Все метки)

Добрый день!
Пытался реализовать следующий алгоритм работы своего приложения:
  1. Пользователь кликая по изображению открывает новый интент.
  2. Перед открытием интента создавался MediaPlayer который проигрывал аудиофайл с названием картинки.
  3. Активность просмотра картинки имеет кнопку, по нажатию которой должно повторно проиграть аудиофайл с названием картинки.
Вроде ничего сложного, в обработчик нажатия кнопки запихнул создание медиаплеера и старт интента. Но столкнулся с проблемой - длинные аудиофайлы обрывались не успевая воспроизвестись до конца в момент старта нового интента.
Делать паузы перед стартом новой активности и заставлять пользователя ждать пока проиграется аудифайл не очень хочется. Подумал о возможности использования одного статического MediaPlayer-а в главной активности. Одновременно это решило бы проблему когда аудиофайл еще воспроизводится, а пользователь нажмет на кнопку воспроизведения - звучание разных плееров не наложится друг на друга.
Прописал создание плеера в главной активности:
Java
1
2
3
4
5
6
7
8
9
public static MediaPlayer audioPlayer;
 
 @Override
    protected void onCreate(Bundle savedInstanceState) {
    ....
    audioPlayer = new MediaPlayer();
    audioPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
    ....
    }
Прописал работу с плеером в других активностях:
Java
1
2
3
4
AssetFileDescriptor fd = MainActivity.expansionFile.getAssetFileDescriptor("assets/wav/" + getResources().getString(soundId));
MainActivity.audioPlayer.setDataSource(fd.getFileDescriptor(), fd.getStartOffset(), fd.getLength());
MainActivity.audioPlayer.prepare();
MainActivity.audioPlayer.start();
Запускается, но работает только один раз. При повторном задании пути к аудиофайлу приложение вылетает.
Подскажите пожалуйста, как решить эту проблему?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru