| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java ME (J2ME) > Не воспроизводится звуковой файл из потока(Stream) |
| Автор: OlegJ 19.1.2006, 12:59 |
| Не получается считать и воспроизвести звуковой файл из потока(InputStream) Вообщем на сервере рабоатет простой сокетный сервер и он по потоку через сокеты высылает побайтово весь файл PrintStream out = new PrintStream( new BufferedOutputStream(socket.getOutputStream(), 1024), false); inputFile = new File("a.amr"); inFile = new FileReader(inputFile); while ((c = inFile.read()) != -1){ out.write©; } inFile.close(); Клиент - мидлет соедененыый с этим сокетом серверным и считывающий этот файл в поток,а поток является данными для проигывателя(используется MMAPI на Siemens c65) InputStream sc = (SocketConnection) Connector.open("socket://localhost:5190"); is = sc.openInputStream(); Player p = Manager.createPlayer(is, "audio/amr"); p.realize(); p.prefetch(); p.start(); В момент старта проигрывателяон подвисает и дальше уже программа не работает. В эмуляторе Siemens выдается ** Audio doRealize ** -- End doRealize -- ** Audio doPrefetch ** Filename: 26922701.amr Calling Connector.open with: file:///0:/System/java/57133/26922701.amr The file did not exist File was created При чем,если просто считывать входящий поток следующимобразом,то файл приходит,проверял. int s; while ( (s=is.read()) != -1 ){ System.out.println(s); } И так же проверил просто проигрывание amr-файла звукового из jar файла локального на телефоне проигрывателем проходит успешно.А вот получить и воспроизвестиего из потока не получается. Есть мысли какие-нибудь? |
| Автор: Dancer 19.1.2006, 14:35 | ||
| если тебе хватит Heap или есть доступ к файловой системе телефона из Java и хватит места для хранения файлика, то я в принципе делал так: у меня звуковые файлики маленькие, я их сохраняю в памяти телефона. причём проверь у себя настройку в симуляторе, скорее всего у тебя маленькая скорость эмуляции обмена данными по сети стоит И проверь настройки своего симулятора, он же тебе ругается, что файла который он пытается проиграть не находит: file:///0:/System/java/57133/26922701.amr
|