Вы все используете Caster.fm? Я обычно использую его для потоковой передачи звука через Winamp. Но вот мой вопрос: как встроить проигрыватель в веб-просмотр (android)?
Я пытался использовать этот код: под html файлом (папка ресурсов)
, а затем поместив их в метод onCreate ():
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_radio_streaming);
webview = (WebView) findViewById(R.id.webview);
webview.setWebChromeClient(new WebChromeClient());
webview.setWebViewClient(new WebViewClient());
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setAllowFileAccess(true);
webview.getSettings().setPluginState(WebSettings.PluginState.ON);
webview.getSettings().setUserAgentString("Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.14 (KHTML, like Gecko) Mobile/12F70");
try {
//Log.d(TAG, "Enabling HTML5-Features");
Method m1 = WebSettings.class.getMethod("setDomStorageEnabled", new Class[]{Boolean.TYPE});
m1.invoke(webview, Boolean.TRUE);
Method m2 = WebSettings.class.getMethod("setDatabaseEnabled", new Class[]{Boolean.TYPE});
m2.invoke(webview, Boolean.TRUE);
Method m3 = WebSettings.class.getMethod("setDatabasePath", new Class[]{String.class});
m3.invoke(webview, "/data/data/" + getPackageName() + "/databases/");
Method m4 = WebSettings.class.getMethod("setAppCacheMaxSize", new Class[]{Long.TYPE});
m4.invoke(webview, 10248);
Method m5 = WebSettings.class.getMethod("setAppCachePath", new Class[]{String.class});
m5.invoke(webview, "/data/data/" + getPackageName() + "/cache/");
Method m6 = WebSettings.class.getMethod("setAppCacheEnabled", new Class[]{Boolean.TYPE});
m6.invoke(webview, Boolean.TRUE);
//Log.d(TAG, "Enabled HTML5-Features");
}
catch (Exception e) {
Toast.makeText(this,e.getMessage(),Toast.LENGTH_LONG);
}
webview.loadData(loadFileContent(), "text/html", "utf-8");
}
метод чтения файла в активе на самом деле loadFileContent () :
private String loadFileContent() {
StringBuilder out = new StringBuilder();
try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(this.getAssets().open("streamer.html")));
String eachline = null;
while ((eachline = bufferedReader.readLine()) != null) {
out.append(eachline);
}
} catch (IOException e) {
e.printStackTrace();
}
return out.toString();
}
но в android webview вывод просто пуст!
Между тем, если я тестировал его (код iframe) в настольный браузер, вывод был правильным: *1024*