10.03.2012 / 23:26 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| |
11.03.2012 / 13:30 | |
Dmitriy Пользователь Сейчас: Offline
Имя: Дмитрий Откуда: В тайге живу Регистрация: 07.03.2010
| import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import java.io.*;
import javax.microedition.media.*;
public class Main extends MIDlet{
static int BUF=524288;
static String URL="http://listen.42fm.ru:8000/stealkill.aacplus";
static String TYPE="audio/aac";
//static String URL="http://listen.42fm.ru:8000/stealkill-96";
//static String TYPE="audio/mpeg";
public void startApp(){
Form f=new Form(getAppProperty("MIDlet-name"));
try{
Display d=Display.getDisplay(this);
d.setCurrent(f);
f.append("Connection to:\n"+URL);
StreamConnection sc=(StreamConnection)Connector.open(URL);
InputStream is=sc.openInputStream();
f.deleteAll();
f.append("Playing...");
byte[]b=new byte[BUF];
ByteArrayInputStream bais=new ByteArrayInputStream(b);
Player p=Manager.createPlayer(bais,TYPE);
p.start();
while(true){
for(int i=0;i<BUF;i++){
int t;
do{t=is.read();}while(t==-1);
b[i]=(byte)t;
}
}
}
catch(Exception e){
f.deleteAll();
f.append(e.toString());
}
}
public void pauseApp(){}
public void destroyApp(boolean u){notifyDestroyed();}
}
Почему ошибка создания плера через несколько секунд после вывода "Playing..."? |
11.03.2012 / 13:32 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Player p=Manager.createPlayer(bais,TYPE); p.start();
p.realize() добавь между.
__________________
let live Изменено aNNiMON (11.03 / 13:32) (всего 1 раз) |
11.03.2012 / 13:44 | |
Dmitriy Пользователь Сейчас: Offline
Имя: Дмитрий Откуда: В тайге живу Регистрация: 07.03.2010
| Всё также, попробую сделать создание после заполнения буфера. Кстати если создавать из is то работает, но лагает т.к. опсос не может передавать в ровень с битрейтом
|
11.03.2012 / 13:47 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Dmitriy, кстати, а что делает конструкция в while(true){} ? Зачем она?
__________________
let live |
11.03.2012 / 13:51 | |
Dmitriy Пользователь Сейчас: Offline
Имя: Дмитрий Откуда: В тайге живу Регистрация: 07.03.2010
| Кстати не подскажите как сделать безусловный переход
|
11.03.2012 / 13:52 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Dmitriy, в Java можно обойтись и без него. Не подскажем.
__________________
let live |
11.03.2012 / 13:53 | |
Dmitriy Пользователь Сейчас: Offline
Имя: Дмитрий Откуда: В тайге живу Регистрация: 07.03.2010
| aNNiMON, ну дк после заполнения buf заполняем по новой
|
11.03.2012 / 13:55 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Dmitriy, мне кажется, что в этом то и причина. Ты не знаешь, какую часть буфера сейчас проигрывает плеер, ты переписываешь её всё равно. Вот поэтому и ошибка.
__________________
let live |
11.03.2012 / 14:07 | |
Magatino Администратор Сейчас: Offline
Имя: Alexandr Откуда: Где Ленин родился. Simbirsk City Регистрация: 28.01.2011
| Dmitriy, Я правильно понял,ты хочешь из инэта скачать композицию?
|