Всем привет. Имеется следующий код Код | public class JarMedia extends MIDlet implements PlayerListener { public void pauseApp() {} public void destroyApp(boolean unconditional) {} public void playerUpdate(Player p, String e, Object d){ if(STARTED.equals(e)){ sTime = System.currentTimeMillis(); System.out.println("Started after "+(sTime - pTime)+"ms"); } if(END_OF_MEDIA.equals(e)){ System.out.println("End of media after "+(System.currentTimeMillis() - sTime)+"ms"); p.deallocate(); p.close(); } if(STOPPED.equals(e)){ System.out.println("Stopped after "+(System.currentTimeMillis() - sTime)+"ms"); } if(CLOSED.equals(e)){ System.out.println("Closed after "+(System.currentTimeMillis()-sTime)+"ms"); synchronized(p){p.notifyAll();} } } long pTime = 0; long sTime = 0; public void startApp(){ String url = "/cvt_", ext = ".amr", mime = "audio/amr"; Player p = null; try{ for(int i = 1; i < 11; i++){ p = Manager.createPlayer( this.getClass().getResourceAsStream(url+i+ext), mime); p.addPlayerListener(this); long t = 0; t = System.currentTimeMillis(); p.realize(); System.out.println("Realized in "+(System.currentTimeMillis() - t)+"ms"); t = System.currentTimeMillis(); p.prefetch(); System.out.println("Prefetched in:"+(System.currentTimeMillis() - t)+"ms"); t = pTime = System.currentTimeMillis(); p.start(); System.out.println("Started in "+(System.currentTimeMillis() - t)+"ms"); t = System.currentTimeMillis(); synchronized(p){ p.wait(); } System.out.println("Waited:"+(System.currentTimeMillis() - t)+"ms"); } }catch(MediaException me){ me.printStackTrace(); }catch(IOException ioe){ ioe.printStackTrace(); }catch(InterruptedException ie){ ie.printStackTrace(); } } }
|
выдающий примерно следующий лог Код | Realized in 1337ms Prefetched in:1ms Started in 1ms Started after 2ms End of media after 552ms Closed after 560ms Waited:562ms Realized in 817ms Prefetched in:0ms Started after 1ms Started in 1ms End of media after 692ms Closed after 694ms Waited:692ms Realized in 792ms Prefetched in:1ms Started in 0ms Started after 0ms End of media after 514ms Closed after 517ms Waited:517ms
|
Вопрос в следующем: при проигрывании ряда маленьких аудио-файлов (amr-ки длиной в 1 сек.) наблюдается некий эффект эха (т.е. маленький кусочек повторяется несколько раз). Собственно интересует из-за чего он может проявляться и как с ним бороться? Заранее спасибо.
Присоединённый файл ( Кол-во скачиваний: 11 )
amr.zip 283,77 Kb
|