【问题标题】:Online audio streaming websites are not working properly on WebView在线音频流网站在 WebView 上无法正常工作
【发布时间】:2022-04-12 07:07:17
【问题描述】:

我尝试在WebView 上播放来自gaana.comsaavn.com 等在线音频流媒体网站的在线音频歌曲。

我的代码:

WebView webView = findViewById(R.id.webView);
webView.setWebViewClient(new WebViewClient());
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.loadUrl("https://gaana.com/");

网站已正确加载到 webview 中,但问题是 当我点击播放(任何歌曲)时,什么都不会发生。 即 webview 中没有显示任何响应。

我的清单文件:

<manifest package="biz.coolpage.aashish.app"
          xmlns:android="http://schemas.android.com/apk/res/android">

    <uses-permission android:name="android.permission.INTERNET"/>

    <application
        android:allowBackup="false"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity
            android:name="biz.coolpage.aashish.app.MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.Translucent.Light">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
            <meta-data android:name="android.webkit.WebView.EnableSafeBrowsing"
                android:value="true" />
        </activity>

    </application>

</manifest>

提前感谢大家的帮助。

【问题讨论】:

  • 可以提供manifest文件吗?
  • @MeosCoder 我添加了有问题的清单文件。

标签: android webview audio-streaming


【解决方案1】:

尝试添加android:hardwareAccelerated="true" 进入manifest 中的activity 标签。 然后添加代码:

    WebView webView = findViewById(R.id.webview);
    webView.setWebViewClient(new WebViewClient());
    WebSettings webSettings = webView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webSettings.setAllowContentAccess(true);
    webSettings.setDomStorageEnabled(true);
    webView.loadUrl("https://gaana.com");

https://developer.android.com/guide/topics/graphics/hardware-accel.html

【讨论】:

  • 问题依旧。
【解决方案2】:

webSettings.setMixedContentMode( WebSettings.MIXED_CONTENT_ALWAYS_ALLOW );

【讨论】:

  • 请记住,Stack Overflow 不仅仅是为了解决眼前的问题,而是为了帮助未来的读者找到类似问题的解决方案,这需要了解底层代码。这对于我们社区的初学者和不熟悉语法的成员来说尤其重要。鉴于此,您能否edit 您的答案包括对您正在做什么的解释以及为什么您认为这是最好的方法?
猜你喜欢
  • 1970-01-01
  • 2023-03-13
  • 2016-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-28
  • 2011-12-26
  • 1970-01-01
相关资源
最近更新 更多