Организация свадеб Организация корпоративов Организация выпускных Корпоративный Новый год Дни рождения Написание музыки Вокал Новости
 
 
 

 
Сейчас на сайте:
Пользователей: 0
Отсутствуют.

Роботов: 2
Alexa Googlebot

Гостей: 2
Всех: 4

20ка посетивших:
Пользователей: 20
ОС: Unknown
Браузер: Unknown
В группе: Посетители
Был: 21 час 2 минуты 30 секунд назад

', this, event, '180px');" href="http://www.star-one.ru/user/aaaa9268a3081/"> aaaa9268a3081
ОС: Windows XP
Браузер: Opera 9.20
В группе: Посетители
Был: 18 часов 13 минут 54 секунды назад
Находился в: Добавление новости
', this, event, '180px');" href="http://www.star-one.ru/user/adik047/"> adik047
ОС: Linux
Браузер: Opera 9.27
В группе: Посетители
Был: 3 часа 50 минут 27 секунд назад
Находился в: Добавление новости
', this, event, '180px');" href="http://www.star-one.ru/user/Alexiy2/"> Alexiy2
ОС: Windows XP
Браузер: Firefox 3.0
В группе: Посетители
Был: 1 день 2 часа 3 секунды назад
Находился в: Регистрация посетителя
', this, event, '180px');" href="http://www.star-one.ru/user/Alisa_ukraina/"> Alisa_ukraina
ОС: Windows XP
Браузер: Firefox 3.0
В группе: Посетители
Был: 23 часа 35 минут 51 секунду назад
Находился в: Регистрация посетителя
', this, event, '180px');" href="http://www.star-one.ru/user/Alla_ukraina/"> Alla_ukraina
ОС: Windows XP
Браузер: Internet Explorer 6.0
В группе: Посетители
Был: 22 часа 28 минут 33 секунды назад
Находился на главной странице.
', this, event, '180px');" href="http://www.star-one.ru/user/Barrybond/"> Barrybond
ОС: Windows XP
Браузер: Opera 9.20
В группе: Посетители
Был: 1 день 15 минут 54 секунды назад
Находился в: Добавление новости
', this, event, '180px');" href="http://www.star-one.ru/user/Fartovuj777/"> Fartovuj777
ОС: Windows XP
Браузер: Opera 9.62
В группе: Посетители
Был: 22 часа 36 минут 2 секунды назад
Находился на главной странице.
', this, event, '180px');" href="http://www.star-one.ru/user/flask/"> flask
ОС: Windows XP
Браузер: Opera 9.20
В группе: Посетители
Был: 1 день 56 минут 49 секунд назад
Находился в: Добавление новости
', this, event, '180px');" href="http://www.star-one.ru/user/galandrei/"> galandrei
ОС: Unknown
Браузер: Unknown
В группе: Посетители
Был: 18 часов 28 минут 30 секунд назад

', this, event, '180px');" href="http://www.star-one.ru/user/grerr/"> grerr
ОС: Windows XP
Браузер: Firefox 3.0.6
В группе: Посетители
Был: 21 час 55 минут 17 секунд назад
Находился на главной странице.
', this, event, '180px');" href="http://www.star-one.ru/user/grom1979/"> grom1979
ОС: Windows XP
Браузер: Internet Explorer 6.0
В группе: Посетители
Был: 1 день 2 часа 12 минут 26 секунд назад
Добавлял комментарий в:
', this, event, '180px');" href="http://www.star-one.ru/user/ibodyaga/"> ibodyaga
ОС: Windows XP
Браузер: Opera 9.20
В группе: Посетители
Был: 23 часа 4 минуты 50 секунд назад
Находился в: Добавление новости
', this, event, '180px');" href="http://www.star-one.ru/user/kilkazyavr/"> kilkazyavr
ОС: Windows XP
Браузер: Opera 9.20
В группе: Посетители
Был: 12 минут 9 секунд назад
Находился в: Добавление новости
', this, event, '180px');" href="http://www.star-one.ru/user/MagicianII/"> MagicianII
ОС: Windows XP
Браузер: Opera 9.20
В группе: Посетители
Был: 10 часов 30 минут 17 секунд назад
Находился в: Добавление новости
', this, event, '180px');" href="http://www.star-one.ru/user/MEGA+KRAFT/"> MEGA KRAFT
ОС: Windows XP
Браузер: Netscape 5.0
В группе: Посетители
Был: 14 минут 57 секунд назад
Находился на главной странице.
', this, event, '180px');" href="http://www.star-one.ru/user/MikeVanBisel/"> MikeVanBisel
ОС: Windows XP
Браузер: Firefox 3.0.3
В группе: Посетители
Был: 11 часов 32 минуты 39 секунд назад
Находился в: Добавление новости
', this, event, '180px');" href="http://www.star-one.ru/user/oleg_semenec1972/"> oleg_semenec1972
ОС: Windows XP
Браузер: Opera 9.20
В группе: Посетители
Был: 8 часов 55 минут 15 секунд назад
Находился в: Добавление новости
', this, event, '180px');" href="http://www.star-one.ru/user/shhmidt/"> shhmidt
ОС: Windows Vista
Браузер: Opera 9.24
В группе: Администраторы
Был: 21 час 49 минут 14 секунд назад
Находился на главной странице.
', this, event, '180px');" href="http://www.star-one.ru/user/Starone/"> Starone
ОС: Windows XP
Браузер: Opera 9.20
В группе: Посетители
Был: 20 минут 46 секунд назад
Находился в: Добавление новости
', this, event, '180px');" href="http://www.star-one.ru/user/tur22/"> tur22

 

 
Как вы попали на сайт?

Друг посоветовал
Случайно
Из поисковика google
Из поисковика yandex
Из каталога
С форума
 

 
» Магическая помощь любовный, черный, заговор, сильный приворот, приворожить
» создать сайт, создание сайтов
» Деревянные окна с установкой. Деревянные окна стеклопакеты. Пластиковые окна г .
 

 
Февраль 2009 (2)
Январь 2009 (24)
Декабрь 2008 (22)
Ноябрь 2008 (28)
Октябрь 2008 (36)
Сентябрь 2008 (81)
Август 2008 (79)
Июль 2008 (87)
Июнь 2008 (76)
Май 2008 (92)
Апрель 2008 (65)
Март 2008 (66)
Февраль 2008 (42)
Январь 2008 (50)
 
 

Песня для Android Media Player с SeekBar

  1. Структура проекта
  2. Код
  3. О Анупам Чуг

В этом руководстве мы будем использовать класс MediaPlayer для реализации базового аудиоплеера в нашем приложении Android. Мы добавим функцию Play / Stop, а также позволим пользователю изменять положение песни с помощью SeekBar ,

Класс MediaPlayer используется для воспроизведения аудио и видео файлов. Общие методы класса MediaPlayer, которые мы будем использовать:

  • Начало()
  • стоп()
  • release () - для предотвращения утечек памяти.
  • seekTo (position) - это будет использоваться с SeekBar
  • isPlaying () - Дайте нам знать, воспроизводится ли песня или нет.
  • getDuration () - используется для получения общей продолжительности. Используя это, мы узнаем верхний предел нашего SeekBar. Эта функция возвращает продолжительность в миллисекундах
  • setDataSource (FileDescriptor fd) - используется для установки файла для воспроизведения.
  • setVolume (float leftVolume, float rightVolume) - используется для установки уровня громкости. Значение находится в диапазоне от 0 до 1.

Мы будем воспроизводить mp3-файл, хранящийся в папке ресурсов нашего проекта Android Studio.

Извлечение файла звуковых ресурсов из папки «Ресурсы»


копия

AssetFileDescriptor descriptor = getAssets (). OpenFd ("имя файла"); mediaPlayer.setDataSource (descriptor.getFileDescriptor (), descriptor.getStartOffset (), descriptor.getLength ()); descriptor.close ();

Чтобы создать приложение, которое воспроизводит аудио и позволяет вам изменить положение текущей дорожки песни, нам нужно реализовать три вещи:

  • Медиа плеер
  • SeekBar With Text - для отображения текущего времени выполнения, кроме большого пальца.
  • Runnable Thread - для обновления панели поиска.

Структура проекта

Добавьте следующую зависимость в ваш build.gradle:


копия

реализация 'com.android.support:design:28.0.0-alpha3'

Код

Код для activity_main.xml приведен ниже:


копия

<? xml version = "1.0&quot; encoding = "utf-8"?> <LinearLayout xmlns: android = "http://schemas.android.com/apk/res/android" xmlns: app = "http: // schemas .android.com / apk / res-auto "xmlns: tools =" http://schemas.android.com/tools "android: layout_width =" match_parent "android: layout_height =" match_parent "android: layout_gravity =" center "android : gravity = "center" android: layout_margin = "16dp" android: ориентация = "вертикальные" инструменты: context = ". MainActivity"> <TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: gravity = " center "android: text =" PLAY / STOP SONG. \ nSCRUB WITH SEEKBAR "android: textStyle =" bold "/> <SeekBar android: id =" @ + id / seekbar "android: layout_margin =" 16dp "android: layout_width = "match_parent" android: layout_height = "wrap_content" android: layout_gravity = "center" /> <TextView android: id = "@ + id / textView" android: layout_width = "wrap_content" android: layout_height = "wrap_content" /> <android .support.design.widget.FloatingActionButton android: id = "@ + id / button" android: layout_widt h = "wrap_content" android: layout_height = "wrap_content" android: layout_margin = "16dp" android: src = "@ android: drawable / ic_media_play" android: text = "PLAY SOUND" /> </ LinearLayout>

Мы добавили FloatingActionButon, который будет воспроизводиться / останавливаться при нажатии.

Код для класса MainActivity.java приведен ниже:


копия

пакет com.journaldev.androidmediaplayersong; import android.content.res.AssetFileDescriptor; импорт android.media.MediaPlayer; import android.support.design.widget.FloatingActionButton; import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; импорт android.os.Bundle; импорт android.view.View; import android.widget.SeekBar; import android.widget.TextView; открытый класс MainActivity расширяет AppCompatActivity реализует Runnable {MediaPlayer mediaPlayer = new MediaPlayer (); SeekBar seekBar; логическое значение wasPlaying = false; FloatingActionButton fab; @Override protected void onCreate (Bundle saveInstanceState) {super.onCreate (saveInstanceState); setContentView (R.layout.activity_main); fab = findViewById (R.id.button); fab.setOnClickListener (new View.OnClickListener () {@Override public void onClick (View view) {playSong ();}}); окончательный TextView seekBarHint = findViewById (R.id.textView); seekBar = findViewById (R.id.seekbar); seekBar.setOnSeekBarChangeListener (new SeekBar.OnSeekBarChangeListener () {@Override public void onStartTrackingTouch (SeekBar seekBar) {seekBarHint. (View.VISIBLE); int x = (int) Math.ceil (progress / 1000f); if (x 0 && mediaPlayer! = Null &&! MediaPlayer.isPlaying ()) {clearMediaPlayer (); fab.setImageDrawable (ContextCompat.getDrawable) (MainActivity.this, android.R.drawable.ic_media_play)); MainActivity.this.seekBar.setProgress (0);}} @Override public void onStopTrackingTouch (SeekBar seekBar) {if (mediaPlayer! = Null && mediaPlayer.isPlaying () ) {mediaPlayer.seekTo (seekBar.getProgress ());}}}); } public void playSong () {try {if (mediaPlayer! = null && mediaPlayer.isPlaying ()) {clearMediaPlayer (); seekBar.setProgress (0); wasPlaying = true; fab.setImageDrawable (ContextCompat.getDrawable (MainActivity.this, android.R.drawable.ic_media_play)); } if (! wasPlaying) {if (mediaPlayer == null) {mediaPlayer = new MediaPlayer (); } fab.setImageDrawable (ContextCompat.getDrawable (MainActivity.this, android.R.drawable.ic_media_pause)); AssetFileDescriptor descriptor = getAssets (). OpenFd ("suit.mp3"); mediaPlayer.setDataSource (descriptor.getFileDescriptor (), descriptor.getStartOffset (), descriptor.getLength ()); descriptor.close (); mediaPlayer.prepare (); mediaPlayer.setVolume (0,5f, 0,5f); mediaPlayer.setLooping (ложь); seekBar.setMax (mediaPlayer.getDuration ()); mediaPlayer.start (); новая тема (это) .start (); } wasPlaying = false; } catch (Exception e) {e.printStackTrace (); }} public void run () {int currentPosition = mediaPlayer.getCurrentPosition (); int total = mediaPlayer.getDuration (); while (mediaPlayer! = null && mediaPlayer.isPlaying () && currentPosition

В приведенном выше коде при нажатии на FloatingActionButton запускается функция playSong, в которой мы останавливаем песню и сбрасываем значок MediaPlayer и FloatingActionButton каждый раз.

После вызова mediaPlayer.prepare () подробности доступны для песни. Теперь мы можем получить продолжительность и установить ее на максимальную позицию SeekBar.

setLoooping в false предотвращает бесконечное воспроизведение песни до тех пор, пока пользователь не остановит ее.

Мы запускаем поток, который запускает метод run, который был частью интерфейса Runnable, который мы реализовали.

Внутри метода run мы обновляем каждую секунду прогресс, который вызывает метод onProgressChanged слушателя SeekBar.

Внутри слушателя мы установили смещение TextView ниже большого пальца SeekBar. Мы устанавливаем продолжительность, конвертируя миллисекунды в секунды.

Когда панель поиска перемещается, запускается тот же метод. Когда пользователь прекращает очистку SeekBar, запускается onStopTrackingTouch, в котором с помощью метода seekTo мы обновляем позицию песни в экземпляре MediaPlayer.

Как только песня закончена, мы обновляем позицию SeekBar до первоначального и очищаем экземпляр MediaPlayer.

Вывод приложения без звука приведен ниже:

Это положит конец этому уроку. Вы можете скачать проект по ссылке ниже и сыграть песню для себя.

О Анупам Чуг

Он любит изучать новые вещи в Android и iOS. Стреляй в него запросы.

Quot; encoding = "utf-8"?
 
 
Copyright © Star-One.Ru 2008-2009.
 
Карта