Android - проблема воспроизведения звуков из папки активов - PullRequest
0 голосов
/ 09 ноября 2010

У меня есть 5 mp3 файлов, хранящихся в папке активов.Все файлы 25 КБ.Я загружаю файлы, используя:

manager = context.getAssets();
this.inputStream = manager.openFd(fileName).createInputStream();

Всякий раз, когда я пытаюсь воспроизвести файлы, все звуки путаются, как будто они были смешаны или что-то в этом роде.Я уже настроил приложение, но безрезультатно.любая помощь по этому вопросу?Заранее спасибо

Ответы [ 3 ]

2 голосов
/ 12 ноября 2010

После некоторого исследования я обнаружил, что потрепал сам. проблема заключалась в том, что я использовал следующий метод для установки источника данных MediaPlayer:

inputStream = manager.openFd(fileName).createInputStream();    
player.setDataSource(inputStream.getFD());

Это просто вызов setDataSource(fd, 0, 0x7ffffffffffffffL); с передачей минимального смещения и этой произвольной длины, в результате чего все звуки воспроизводятся полностью.
При использовании следующего кода все работало нормально:

AssetFileDescriptor descriptor = manager.openFd(fileName);
long start = descriptor.getStartOffset();
long end = descriptor.getLength();
player.setDataSource(descriptor.getFileDescriptor(), start,end);
1 голос
/ 09 ноября 2010

Вы также можете попробовать воспроизвести их из папки res / raw:

MediaPlayer p=MediaPlayer.create(this, R.raw.soundid);
p.start();
0 голосов
/ 09 ноября 2010
  1. Для начала попытайтесь устранить одну потенциальную проблему: сравните inputStream с исходным файлом.

  2. Попробуйте открыть и воспроизвести файлы напрямую.

...