videoView はビデオを再生するためのいくつかのメソッドのみをサポートしているようですが、最も一般的な形式の再生をサポートしているものはありません。
私の質問: videoView を設定して inputStream を再生するにはどうすればよいですか?
実際にデータをファイルにコピーしてから再生したり、データを「パイプ」するための何らかのトリックを使用したりしなくても可能ですか?
オーディオにも同じことが欠けていると思いますが、よくわかりません。
videoView はビデオを再生するためのいくつかのメソッドのみをサポートしているようですが、最も一般的な形式の再生をサポートしているものはありません。
私の質問: videoView を設定して inputStream を再生するにはどうすればよいですか?
実際にデータをファイルにコピーしてから再生したり、データを「パイプ」するための何らかのトリックを使用したりしなくても可能ですか?
オーディオにも同じことが欠けていると思いますが、よくわかりません。
これを試してください:
public static String getDataSource(InputStream inputStream) throws IOException {
if (!URLUtil.isNetworkUrl(path)) {
return path;
} else {
URL url = new URL(path);
URLConnection cn = url.openConnection();
cn.connect();
InputStream stream = inputStream;
if (stream == null)
throw new RuntimeException("stream is null");
File temp = File.createTempFile("mediaplayertmp", "dat");
temp.deleteOnExit();
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);
try {
stream.close();
out.close();
} catch (IOException ex) {
// Log.e(TAG, "error: " + ex.getMessage(), ex);
}
return tempPath;
}
}