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

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

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

SoundPool - не воспроизводит до конца звук - Программирование Android

25.01.2015, 18:02. Просмотров 645. Ответов 10
Метки нет (Все метки)

SoundPool - не воспроизводит до конца звук. По середине или в конце обрывается. У всех по разному. У меня 15 звуковых mp3 файлов. до 30 секунд каждый файл. В Eclipse писал. Скажите в нем есть ограничение по секундам? Файлы сами занимают до 250 кб.

Не судите строго, я только начал учиться)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2015, 18:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос SoundPool - не воспроизводит до конца звук (Программирование Android):

SoundPool не везде воспроизводит - Программирование Android
Сначала назначил звук, на звуки кнопок: public class RetrogameActivityActivity extends Activity implements OnClickListener { ...

Не воспроизводится звук на Galaxy S4 через SoundPool. Почему? - Программирование Android
Имеется такой код: SoundPool soundPool; int soundOw; soundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 0); ...

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

Android 4.4 MediaPlayer не воспроизводит звук - Программирование Android
Добрый день :senor: MediaPlayer на android 4.1.1, 4.2.2, 5.1 работает, на 4.4.4 не работает вот код mediaPlayer =...

SoundPool - Программирование Android
Добрый день! Подскажите, в приложении используется много маленьких аудио файлов. Для воспроизведения использую soundpool. ...

SoundPool vs MediaPlayer - Программирование Android
Какой класс лучше использовать для проигрывания музыки? Под музыкой подразумеваю не короткий сигнал, а большое количество песен, с большим...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
gvsp
13 / 2 / 0
Регистрация: 10.11.2015
Сообщений: 71
11.02.2016, 13:06 #2
Ап.
У меня похожая проблема.
0
Valakin
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 731
11.02.2016, 13:21 #3
Увеличивайте длину аудио )
0
gvsp
13 / 2 / 0
Регистрация: 10.11.2015
Сообщений: 71
11.02.2016, 13:24 #4
Valakin, У меня звук 14 секунд. Проигрывается примерно первые 6 секунд. Т.е. мне надо увеличить файл в два с лишним раза? Короткие звуки менее секунды воспроизводятся полностью.
0
Valakin
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 731
11.02.2016, 13:59 #5
Цитата Сообщение от gvsp Посмотреть сообщение
У меня звук 14 секунд. Проигрывается примерно первые 6 секунд
я бы добавил 8 сек "тишины", или это будет влиять на работу?
1
gvsp
13 / 2 / 0
Регистрация: 10.11.2015
Сообщений: 71
11.02.2016, 14:05 #6
Цитата Сообщение от Valakin Посмотреть сообщение
я бы добавил 8 сек "тишины", или это будет влиять на работу?
Попробую, на работе не скажется. Но вообще странно. И в Интернете нигде не нахожу такого. Ну ладно бы просто ограничение было. Типа для звуком длительнее 5 секунд используйте MediaPlayer. Но если SoundPool просто неправильно рассчитывает длительность, то это ошибка и почему это не лечат?
0
Valakin
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 731
11.02.2016, 14:15 #7
Цитата Сообщение от gvsp Посмотреть сообщение
используйте MediaPlayer
там эта проблема так же встречается
0
gvsp
13 / 2 / 0
Регистрация: 10.11.2015
Сообщений: 71
11.02.2016, 22:35 #8
Цитата Сообщение от Valakin Посмотреть сообщение
я бы добавил 8 сек "тишины", или это будет влиять на работу?
добавлял. убавлял. всё равно играет только 6 секунд. Хоть шесть секунд файл хоть 20.


Java
1
2
3
4
5
6
7
8
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
            // Для устройств до Android 5
            createOldSoundPool();
        } else {
            // Для новых устройств
            createNewSoundPool();
        }
        mAssetManager = getAssets();
Java
1
playSound3(fanfary);
Java
1
2
3
4
5
6
7
8
private int playSound3(int sound) {
        if (sound > 0) {
            if (activ_sound == 1) { // если какой то звук разрешён
                mStreamID = mSoundPool.play(sound, 1, 1, 1, 0, 1);
            }
        }
        return mStreamID;
    }
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 @TargetApi(Build.VERSION_CODES.LOLLIPOP)
    private void createNewSoundPool() {
        AudioAttributes attributes = new AudioAttributes.Builder()
                .setUsage(AudioAttributes.USAGE_GAME)
                .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
                .build();
        mSoundPool = new SoundPool.Builder()
                .setAudioAttributes(attributes)
                .build();
    }
 
    @SuppressWarnings("deprecation")
    private void createOldSoundPool() {
        mSoundPool = new SoundPool(3, AudioManager.STREAM_MUSIC, 0);
    }
0
Valakin
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 731
12.02.2016, 12:08 #9
красные сообщениях в логах есть?
0
gvsp
13 / 2 / 0
Регистрация: 10.11.2015
Сообщений: 71
12.02.2016, 16:55 #10
Цитата Сообщение от Valakin Посмотреть сообщение
красные сообщениях в логах есть?
Нет, в логах всё нормально. В общем урезал я себе файл до 6 секунд. Так что в своём проекте обойдусь. Но вопрос остаётся открытым.
0
Хмырь
-1 / 0 / 0
Регистрация: 08.07.2015
Сообщений: 42
Завершенные тесты: 1
12.02.2016, 21:55 #11
чувак,у самого была такая "проблема",пока умные дядьки не обяснили,оказалось что sound pool расчитан только на короткие звуки,и имеет ограничие в 6 секунд,так что используй MediaPlayer
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2016, 21:55
Привет! Вот еще темы с ответами:

Delphi и SoundPool - Программирование Android
Господа, нигде не могу найти документации по андроидскому SoundPool в Delphi. Для остальных языков - навалом всяких разных, но это как в...

SoundPool, регулировать громкость воспроизведения - Программирование Android
Ребят возникала такая проблема (не ошибка), я воспроизвожу звук через SoundPool звук но не могу регулировать громкость его воспроизводства,...

Как отследить момент окончания аудио в SoundPool? - Программирование Android
Нужно отключить анимацию рта по окончании, соответственно, речи=)

Не воспроизводит звук - Windows XP
У меня медиа звук не воспроизводит. Пишет типа нет звукового оборудования или оно работает не правельно, или используется другой...


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

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

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