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

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

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

PLAY при касании экрана и STOP когда палец убран - Программирование Android

17.01.2014, 17:08. Просмотров 906. Ответов 8
Метки нет (Все метки)

Вот код

.
.
.

@Override
public boolean onTouchEvent(MotionEvent event)
{
mpAudio = MediaPlayer.create(this, R.raw.muzik);
mpAudio.setLooping(true);
mpAudio.start();
return super.onTouchEvent(event);
}

@Override
public void onPause(){
mpAudio.stop();
super.onPause();
}
}



При нажатии на экран ( TouchEvent ) начинает проигрываться музыка и уже не останавливается. Как сделать чтобы музыка играла пока я касаюсь экрана и останавливалась когда палец от экрана убран?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2014, 17:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос PLAY при касании экрана и STOP когда палец убран (Программирование Android):

Убрать softkeyboard и курсор при касании за пределами EditText? - Программирование Android
Всем добра! в EditText который находится в Toolbar задается курс валюты, после этого надо чтобы спряталась клавиатура и убрался фокус...

Полноэкранный режим - action & navigation bars появляются при касании - Программирование Android
Привет) В общем, убираю action бары, и navigation бары. Но они появляются: когда я сверху пальцем провожу и потом опять исчезают. как...

Приложение останавливается, когда делаю поворот экрана - Программирование Android
Приложение останавливается, потому что не все элементы использованы из вертикальной ориентации, но мне например в горизонтальной ориентации...

Как узнать когда пользователь перестает касаться экрана? - Программирование Android
Ребята, посоветуйте как узнать когда пользователь перестает касаться экрана?Есть приложение при нажатии на кнопку запускается таймер, а...

При касании кнопка должна отодвигаться, при касании края отскакивать - C#
Реализовать оконное приложение с надписью «Ты дурак?» и двумя кнопками «да» и «нет». Кнопка «нет» должна быть недоступна для нажатия...

GIF Stop and Play - Delphi
Как можно остановить и влючить проигрывание анимации. И нужно чтобы анимация останавливалась на первом кадре. Хочу сделать гирлянду на...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 510
17.01.2014, 17:13 #2
Выключение по OnClickListener
tree00
1 / 1 / 0
Регистрация: 13.01.2014
Сообщений: 34
17.01.2014, 17:47  [ТС] #3
Цитата Сообщение от korsaj Посмотреть сообщение
Выключение по OnClickListener

OnClickListener обрабатывает нажатия на объекты (Button, ImfgeButton и т.д.) тут по идее должен быть OnTouchListener, но я его не подключил. Может в этом проблема? хотя приложение запускается.

Добавлено через 27 минут
Сделал, но появилась новая проблема вот код



@Override
public boolean onTouchEvent(MotionEvent event)
{
if(event.getAction() == MotionEvent.ACTION_DOWN) {
mpAudio = MediaPlayer.create(this, R.raw.muzik);
mpAudio.setLooping(true);
mpAudio.start();
}
else if (event.getAction() == MotionEvent.ACTION_UP)
{
mpAudio.stop();
}
return super.onTouchEvent(event);
}

@Override
public void onPause(){
mpAudio.stop();
super.onPause();
}
}



При выходе или переходе на другой активити музыка не прекращается.
YuraAAA
1571 / 1313 / 270
Регистрация: 25.10.2009
Сообщений: 3,432
Записей в блоге: 2
17.01.2014, 18:32 #4
tree00,

Java
1
2
3
4
5
6
7
  @Override
    protected void onPause() {
    super.onPause();
    if (mpAudio != null && mpAudio.isPlaying()) {
            mpAudio.stop();
        }
    }
tree00
1 / 1 / 0
Регистрация: 13.01.2014
Сообщений: 34
17.01.2014, 18:43  [ТС] #5
Не помогает, все по прежнему, причем если на экран не нажимать (проигрывается дополнительная музыка), то тогда при выходе музыка прекращается, а если нажать то уже нет.
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 510
17.01.2014, 19:01 #6
OnClickListener - вызывается по отпусканию кнопки,
что вам похоже не подходит
tree00
1 / 1 / 0
Регистрация: 13.01.2014
Сообщений: 34
17.01.2014, 19:49  [ТС] #7
решил проблему, для каждой музыки создал свой медиа плеер и по разному их назвал, одна закрывается при уберании пальца с экрана другая при выходе.

Добавлено через 3 минуты
а нет это не решение тогда начинает пропадать звук

Добавлено через 13 минут
вот весь код

import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.graphics.drawable.AnimationDrawable;
import android.view.MotionEvent;
import android.widget.ImageView;




public class MainActivity2 extends Activity {

MediaPlayer Aud;



@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_activity2);

Aud = MediaPlayer.create(this, R.raw.muzik1);
Aud.setLooping(true);
Aud.start();

final ImageView img=(ImageView)findViewById(R.id.image1);
img.setBackgroundResource(R.drawable.animationdemo);
img.post(new Runnable() {

@Override
public void run() {
AnimationDrawable animation=(AnimationDrawable)img.getBackground();
animation.start();

}
});



}
@Override
public boolean onTouchEvent(MotionEvent event)
{
if(event.getAction() == MotionEvent.ACTION_DOWN) {
Aud = MediaPlayer.create(this, R.raw.muzik2);
Aud.setLooping(true);
Aud.start();
}
else if (event.getAction() == MotionEvent.ACTION_UP)
{
Aud.stop();
}
return super.onTouchEvent(event);
}

@Override
public void onPause(){
Aud.stop();
super.onPause();
}
}



в чем проблема?
Севак
любитель покушать
681 / 632 / 106
Регистрация: 25.09.2011
Сообщений: 1,313
17.01.2014, 19:55 #8
tree00,
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
package com.sevak_avet.test;
 
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.TextureView;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.widget.TextView;
 
public class MainActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        TextView tv = (TextView) findViewById(R.id.tv);
        tv.setOnTouchListener(new OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
                    System.out.println("START");
                }
                
                if(event.getActionMasked() == MotionEvent.ACTION_UP) {
                    System.out.println("STOP");
                }
                
                return true;
            }
        });
    }
}
Добавлено через 1 минуту
Цитата Сообщение от tree00 Посмотреть сообщение
Java
1
2
3
4
5
6
7
8
9
if(event.getAction() == MotionEvent.ACTION_DOWN) {
Aud = MediaPlayer.create(this, R.raw.muzik2);
Aud.setLooping(true); 
Aud.start(); 
}
else if (event.getAction() == MotionEvent.ACTION_UP)
{
Aud.stop(); 
}
попробуй сделать второй if без else
tree00
1 / 1 / 0
Регистрация: 13.01.2014
Сообщений: 34
17.01.2014, 20:43  [ТС] #9
в общем сделал так: для каждого аудио файла создал свой MediaPlayer,

MediaPlayer Aud1;
MediaPlayer Aud2;


затем в этой части


if(event.getAction() == MotionEvent.ACTION_DOWN) {
mpAudio = MediaPlayer.create(this, R.raw.muzik);
mpAudio.setLooping(true);
mpAudio.start();
}
else if (event.getAction() == MotionEvent.ACTION_UP)
{
mpAudio.stop();
}
return super.onTouchEvent(event);
}




вместо mpAudio.stop(); поставил mpAudio.reset(); (иначе при многократных нажатиях на экран происходила какая-то ошибка и проигрывание прекращалось).

Теперь вроде все работает. Всем спасибо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2014, 20:43
Привет! Вот еще темы с ответами:

Медиаплеер - не работают кнопки Stop, Play и Pause - C# WPF
Помогите пожалуйста с медиаплеером. Не работают кнопки Stop, Play и Pause, вернее они работают (меседжбоксы срабатывают), но видео не...

Имитация нажатий медиаклавиш Play Pause Stop и тд - Visual Basic
Приветствую всех. Не могу реализовать имитацию нажатия VK_VOLUME_MUTE VK_VOLUME_DOWN VK_VOLUME_UP VK_MEDIA_NEXT_TRACK ...

jplayer: кнопки play, stop рядом с каждым треком из списка - JavaScript
Здравствуйте! Есть такой замечательный Jplayer http://jplayer.org/latest/demo-04/ Может подскажете как сделать, чтобы кнопки play, stop...

Кликнуть мышью когда она как "палец" - Delphi
Здравствуйте, подскажите пожалуйста как кликнуть мышью когда она находиться в режиме "пальца"? Вот картинка..


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.01.2014, 20:43
Ответ Создать тему
Опции темы

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