С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Ilfatron
0 / 0 / 0
Регистрация: 01.04.2016
Сообщений: 5
#1

Работа с fragments и MediaPlayer - Программирование Android

08.04.2016, 15:08. Просмотров 248. Ответов 11

Здравствуйте! Возник такой вопрос. Я организовал кнопку, при нажатии которой вызывается фрагмент и включается медиафайл. Во фрагменте кнопки Пауза,Стоп и тд. Подскажите как из фрагмента управлять этим медиафайлом???
Вот код активити
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);
    }
 
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2016, 15:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с fragments и MediaPlayer (Программирование Android):

"constructor MediaPlayer in class MediaPlayer cannot be applied to given types" - Программирование Android
Проблема в строке "37--final MediaPlayer mp = new MediaPlayer(this,R.raw.sample);" Ошыбка : Error:(39, 41) error: constructor...

Fragments - Программирование Android
Не пойму как исправить код чтобы открыл новую страницу import android.content.Intent; import android.os.Bundle; ...

Fragments - Программирование Android
Здравствуйте, я новичок и многого не понимаю. У меня такой вопрос, что содержит в себе приложение по типу ВКонтаке и Facebook. Я имею ввиду...

Fragments и Activity - Программирование Android
Есть приложение некоего калькулятора, в котором есть activity_main.xml, где реализованы кнопки и клас MainActivity.java, в котором...

Fragments и service - Программирование Android
такой вопрос как реализовать запуск сервиса и обработку результатов приложении где есть fragments.? хотелось бы запускать сервис в...

RadioButton & Fragments - Программирование Android
Доброго дня. Уважаемые форумчане, подскажите. Нужно создать приложение которое имеет 3 вкладки. Вкладки реализованы в виде RadioGroup /...

11
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
08.04.2016, 16:21 #2
Ilfatron, правильно - запускать сервис и проигрывать из него
0
Ilfatron
0 / 0 / 0
Регистрация: 01.04.2016
Сообщений: 5
08.04.2016, 17:19  [ТС] #3
Пробовал,но тогда возникает другая проблема. Чтобы запустить воспроизведение нужно указать контекст (mediaplayer(context,файл)) а что именно нужно писать в контекст??? This не подходит, getActivity тоже
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
08.04.2016, 17:37 #4
Ilfatron, у сервиса есть доступ к контексту
0
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,734
08.04.2016, 17:43 #5
Ilfatron, хах, помню, решал вашу задачу как раз применительно к фрагментам. Использовал для общения между компонентами Handler.
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
09.04.2016, 16:39 #6
CoolMind, а мне, если честно, не нравится такой вариант взаимодействия в последнем проекте выбросил такие решение, вместе с коллбэками к чёртовой матери, переведя весь движок на события. Очень прикольно, кстати.
1
androbro
332 / 293 / 63
Регистрация: 17.10.2014
Сообщений: 865
09.04.2016, 16:54 #7
Цитата Сообщение от YuraAAA Посмотреть сообщение
переведя весь движок на события
а вот это интересно, что за события такие? что то из Rx или просто как то сами в архитектуре вводите такое понятие
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
09.04.2016, 17:34 #8
androbro, сначала я взял свои, https://github.com/YuraAAA/android-develop-utils#event-bus
Но мне понадобились "отложенные" эвенты, взял eventbus от greenrobot. У меня rest классы передают данные обратно не через колбэки, а через события. Первый раз за 4+ лет разработки я остался доволен архитектурой приложения
2
androbro
332 / 293 / 63
Регистрация: 17.10.2014
Сообщений: 865
09.04.2016, 20:50 #9
Цитата Сообщение от YuraAAA Посмотреть сообщение
https://github.com/YuraAAA/android-d...tils#event-bus
ооо, эт типа джентльменского набора утилит, очь интересно, спасибо
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
09.04.2016, 21:23 #10
androbro, всегда пожалуйста ) Да, MemCache и FSM постоянно использую у себя
0
androbro
332 / 293 / 63
Регистрация: 17.10.2014
Сообщений: 865
09.04.2016, 22:54 #11
YuraAAA, так это чисто Ваши наработки?
а то я сначала увидел там Event Bus, подумал это просто агрегация так сказать различных полезных либ.
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
09.04.2016, 23:43 #12
androbro, чисто мои
0
09.04.2016, 23:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2016, 23:43
Привет! Вот еще темы с ответами:

Пример fragments and RecyclerView - Программирование Android
может кто-то показать пример проекта как на фото, с 2 активити, и 2 фрагментами, слева список RecyclerView а справа какая-то инфа, при...

Реклама admob в fragments - Программирование Android
Как правильно настроить рекламу AdMob для фрагментов?! Например, для обычных Activity, подходит следующий код: @Override public...

Parser XML + RecyclerView + Fragments - Программирование Android
3 вопроса. Вопрос по XML парсингу. Подскажите как сделать выборку парсера по номеру <categoryId>6</categoryId>? (парсится отсюда...

Как передать данные из Fragments в DialogFragment - Программирование Android
Пробовал с помощью Intent , Bundle , но не получалось (либо руки кривые) . Поможете?


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

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