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

Работа с fragments и MediaPlayer - Android

Восстановить пароль Регистрация
 
Ilfatron
0 / 0 / 0
Регистрация: 01.04.2016
Сообщений: 5
08.04.2016, 15:08     Работа с fragments и MediaPlayer #1
Здравствуйте! Возник такой вопрос. Я организовал кнопку, при нажатии которой вызывается фрагмент и включается медиафайл. Во фрагменте кнопки Пауза,Стоп и тд. Подскажите как из фрагмента управлять этим медиафайлом???
Вот код активити
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
import android.app.FragmentTransaction;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
 
public class Relax1 extends AppCompatActivity {
    Button btnS1;
    Fragment1 fragment1;
    FragmentTransaction fragmentTransaction;
 
    MediaPlayer mediaPlayer;
    AudioManager audioManager;
//    CheckBox chLoop;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_relax1);
 
        fragment1=new Fragment1();
        btnS1=(Button) findViewById(R.id.btnS1);
        audioManager=(AudioManager) getSystemService(AUDIO_SERVICE);
//        chLoop=(CheckBox) findViewById(R.id.chLoop);
//        chLoop.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
//            @Override
//            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//                if (mediaPlayer!=null)
//                    mediaPlayer.setLooping(isChecked);
//            }
//        });
 
    }
    public void onClickBtnS1(View v) {
 
        fragmentTransaction=getFragmentManager().beginTransaction();
        fragmentTransaction.add(R.id.fragmentCont,fragment1);
        fragmentTransaction.commit();
 
 
        mediaPlayer=MediaPlayer.create(this,R.raw.kasta);
        mediaPlayer.start();
 
 
    }
}

Вот код фрагмента
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
import android.app.Fragment;
import android.content.Context;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CheckBox;
 
public class Fragment1 extends Fragment {
 
    Button btnPlay,btnStop,btnPause,btnBack,btnForward;
    CheckBox chLoop;
    MediaPlayer mediaPlayer;
    AudioManager audioManager;
 
 
    @Override
    public View onCreateView(final LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
 
        View v=inflater.inflate(R.layout.fragment1,null);
 
        btnPlay=(Button) v.findViewById(R.id.btnPlay);
 
 
        btnPause=(Button) v.findViewById(R.id.btnPause);
        btnPause.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
 
            }
        });
 
 
 
        return inflater.inflate(R.layout.fragment1, null);
    }
 
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2016, 15:08     Работа с fragments и MediaPlayer
Посмотрите здесь:

Android Простой MediaPlayer
Fragments и Activity Android
RadioButton & Fragments Android
Android Fragments
Android SoundPool vs MediaPlayer
Android Fragments и service
Android Реклама admob в fragments
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
08.04.2016, 16:21     Работа с fragments и MediaPlayer #2
Ilfatron, правильно - запускать сервис и проигрывать из него
Ilfatron
0 / 0 / 0
Регистрация: 01.04.2016
Сообщений: 5
08.04.2016, 17:19  [ТС]     Работа с fragments и MediaPlayer #3
Пробовал,но тогда возникает другая проблема. Чтобы запустить воспроизведение нужно указать контекст (mediaplayer(context,файл)) а что именно нужно писать в контекст??? This не подходит, getActivity тоже
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
08.04.2016, 17:37     Работа с fragments и MediaPlayer #4
Ilfatron, у сервиса есть доступ к контексту
CoolMind
411 / 394 / 65
Регистрация: 06.10.2012
Сообщений: 1,701
08.04.2016, 17:43     Работа с fragments и MediaPlayer #5
Ilfatron, хах, помню, решал вашу задачу как раз применительно к фрагментам. Использовал для общения между компонентами Handler.
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
09.04.2016, 16:39     Работа с fragments и MediaPlayer #6
CoolMind, а мне, если честно, не нравится такой вариант взаимодействия в последнем проекте выбросил такие решение, вместе с коллбэками к чёртовой матери, переведя весь движок на события. Очень прикольно, кстати.
androbro
312 / 272 / 51
Регистрация: 17.10.2014
Сообщений: 817
09.04.2016, 16:54     Работа с fragments и MediaPlayer #7
Цитата Сообщение от YuraAAA Посмотреть сообщение
переведя весь движок на события
а вот это интересно, что за события такие? что то из Rx или просто как то сами в архитектуре вводите такое понятие
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
09.04.2016, 17:34     Работа с fragments и MediaPlayer #8
androbro, сначала я взял свои, https://github.com/YuraAAA/android-d...tils#event-bus
Но мне понадобились "отложенные" эвенты, взял eventbus от greenrobot. У меня rest классы передают данные обратно не через колбэки, а через события. Первый раз за 4+ лет разработки я остался доволен архитектурой приложения
androbro
312 / 272 / 51
Регистрация: 17.10.2014
Сообщений: 817
09.04.2016, 20:50     Работа с fragments и MediaPlayer #9
Цитата Сообщение от YuraAAA Посмотреть сообщение
https://github.com/YuraAAA/android-d...tils#event-bus
ооо, эт типа джентльменского набора утилит, очь интересно, спасибо
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
09.04.2016, 21:23     Работа с fragments и MediaPlayer #10
androbro, всегда пожалуйста ) Да, MemCache и FSM постоянно использую у себя
androbro
312 / 272 / 51
Регистрация: 17.10.2014
Сообщений: 817
09.04.2016, 22:54     Работа с fragments и MediaPlayer #11
YuraAAA, так это чисто Ваши наработки?
а то я сначала увидел там Event Bus, подумал это просто агрегация так сказать различных полезных либ.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2016, 23:43     Работа с fragments и MediaPlayer
Еще ссылки по теме:

Android Ошибка MediaPlayer'a
Android Fragments
Как передать данные из Fragments в DialogFragment Android
Android Parser XML + RecyclerView + Fragments
Пример fragments and RecyclerView Android

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

Или воспользуйтесь поиском по форуму:
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
09.04.2016, 23:43     Работа с fragments и MediaPlayer #12
androbro, чисто мои
Yandex
Объявления
09.04.2016, 23:43     Работа с fragments и MediaPlayer
Ответ Создать тему

Метки
android
Опции темы

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