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

Воспроизведение аудио - Android

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
Dobhar
1 / 1 / 0
Регистрация: 15.05.2013
Сообщений: 17
15.05.2013, 20:54     Воспроизведение аудио #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
package com.example.sound3;
 
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
 
public class MainActivity extends Activity implements OnClickListener {
    Button btnBass;
    Button btnSnare;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        btnBass = (Button) findViewById(R.id.btnBass);
        btnSnare = (Button) findViewById(R.id.btnSnare);
 
        btnBass.setOnClickListener(this);
        btnSnare.setOnClickListener(this);
    }
 
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.btnBass:
            MediaPlayer mediaPlayerBd1 = MediaPlayer.create(
                    getApplicationContext(), R.raw.bd1);
            mediaPlayerBd1.start();
            break;
        case R.id.btnSnare:
            MediaPlayer mediaPlayerDrl1 = MediaPlayer.create(
                    getApplicationContext(), R.raw.drl1);
            mediaPlayerDrl1.start();
            break;
        }
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.05.2013, 20:58     Воспроизведение аудио #2
это стандартное поведение как на смартфонах так и на ПК, не нужно ничего менять.
Dobhar
1 / 1 / 0
Регистрация: 15.05.2013
Сообщений: 17
15.05.2013, 21:00  [ТС]     Воспроизведение аудио #3
А если попробовать заменить onClick на onTouch?
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.05.2013, 21:03     Воспроизведение аудио #4
ну раз настаиваете, то да, нужно юзать OnTouchListener.

Добавлено через 1 минуту
Java
1
MotionEvent.ACTION_DOWN
Dobhar
1 / 1 / 0
Регистрация: 15.05.2013
Сообщений: 17
17.05.2013, 23:14  [ТС]     Воспроизведение аудио #5
Спасибо, будем разбираться!

Добавлено через 10 часов 37 минут
Можно ли решить мою проблему через onClickStart?

Добавлено через 2 часа 49 минут
Вопрос решил с помощью onTouch. Осталось добиться стабильной работы, т.к. при ОЧЕНЬ быстром (частом) нажатии на клавишу звук вылетает. Поднял документацию, почитал. Обещаю с вопросами, по возможности, не тупить)))

Добавлено через 12 часов 32 минуты
Теперь все проблемы со звуком "ушли" когда MediaPlayer заменил на SoundPool.

Добавлено через 1 минуту
Не могу заставить работать вместе event.getAction и v.getId. Подскажите, что нужно прописать в этом блоке?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_DOWN) {
 
            // Это для 1-ой кнопки R.id.btnBass1
            soundPool.play(soundID1, 17, 17, 1, 0, 1f);
 
            // Это для 2-ой кнопки R.id.btnBass2
            soundPool.play(soundID2, 17, 17, 1, 0, 1f);
        }
        return false;
    }
}
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
17.05.2013, 23:17     Воспроизведение аудио #6
Java
1
2
3
if(v.getId() == R.id.btnBass1) {
            soundPool.play(soundID1, 17, 17, 1, 0, 1f);
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2013, 23:49     Воспроизведение аудио
Еще ссылки по теме:

Android Воспроизведение аудио через динамик для разговоров
Android Остановка / воспроизведение аудио
Android Воспроизведение аудио друг за другом
Аудио стрим по wi fi Android
Android Воспроизведение аудиопотока из интернета

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

Или воспользуйтесь поиском по форуму:
Dobhar
1 / 1 / 0
Регистрация: 15.05.2013
Сообщений: 17
17.05.2013, 23:49  [ТС]     Воспроизведение аудио #7
V0v1k, спасибо большое! Все работает идеально!
Yandex
Объявления
17.05.2013, 23:49     Воспроизведение аудио
Ответ Создать тему
Опции темы

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