Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > скорость воспроизведения аудио


Автор: 404NotFound 28.12.2011, 15:35
Добрый день. Возникла необходимость ускорить(замедлить) воспроизведение звука. Звук записываю с микрофона
Код

Player p = Manager.createPlayer("capture://audio");
p.realize();
RecordControl rc = (RecordControl)p.getControl("RecordControl");
ByteArrayOutputStream output = new ByteArrayOutputStream();
rc.setRecordStream(output);
rc.startRecord();
p.start();
Thread.sleep(5000);
System.out.println("End");
rc.commit();
recordedSoundArray = output.toByteArray();
p.close(); 


затем воспроизвожу. Для ускорения(замедления) использую
Код

ByteArrayInputStream recordedInputStream = new ByteArrayInputStream(recordedSoundArray);
Player p2 = Manager.createPlayer(recordedInputStream,"audio/x-wav");
p2.realize();
RateControl rc = (RateControl)p2.getControl("RateControl");
int rate = rc.getRate();
rc.setRate(rate/2);


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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)