Я разрабатываю приложение, в котором мне нужно реализовать потоковую передачу телепрограмм. Мой поиск в Google заставил меня поверить, что прямая трансляция невозможна до версии 2.1 Android.
Верно?
Когда я получаю код стрейминга музыки медиаплеера, я могу использовать его тип, установив метод ниже:
mp.setAudioStreamType (2)
;
Но я хочу знать, достаточно ли этого для потоковой передачи только такого кода и сохранения файла, как показано ниже:
private void setDataSource(String path) throws IOException {
if (!URLUtil.isNetworkUrl(path)) {
mp.setDataSource(path);
} else {
Log.i("enter the setdata","enter the setdata");
URL url = new URL(path);
URLConnection cn = url.openConnection();
cn.connect();
InputStream stream = cn.getInputStream();
if (stream == null)
throw new RuntimeException("stream is null");
File temp = File.createTempFile("mediaplayertmp", "dat");
String tempPath = temp.getAbsolutePath();
FileOutputStream out = new FileOutputStream(temp);
byte buf[] = new byte[128];
do {
int numread = stream.read(buf);
if (numread <= 0)
break;
out.write(buf, 0, numread);
} while (true);
mp.setDataSource(tempPath);
try {
stream.close();
Log.i("exit the setdata","exit the setdata");
}
catch (IOException ex) {
Log.e(TAG, "error: " + ex.getMessage(), ex);
}
}
}
Есть ли какие-то дополнительные вещи, необходимые для потоковой передачи телепрограмм? Пожалуйста, обратитесь ко мне.