![]() |
Модераторы: javastic, AntonSaburov |
![]() ![]() ![]() |
|
OlegJ |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 15.12.2005 Репутация: нет Всего: нет |
Не получается считать и воспроизвести звуковой файл из потока(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 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 29.4.2005 Где: Nizhniy Novgorod Репутация: 33 Всего: 37 |
если тебе хватит Heap или есть доступ к файловой системе телефона из Java и хватит места для хранения файлика, то я в принципе делал так:
у меня звуковые файлики маленькие, я их сохраняю в памяти телефона. причём проверь у себя настройку в симуляторе, скорее всего у тебя маленькая скорость эмуляции обмена данными по сети стоит И проверь настройки своего симулятора, он же тебе ругается, что файла который он пытается проиграть не находит: file:///0:/System/java/57133/26922701.amr
Это сообщение отредактировал(а) Dancer - 19.1.2006, 14:39 -------------------- У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! ![]() |
|||
|
||||
![]() ![]() ![]() |
FAQ раздела лежит здесь! |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |