播放时如何获取mp3的URL

DIl*_*d K 5 java mp3 android download

我们可以从浏览器,社交网络,应用程序播放mp3文件...我想在播放mp3时获取URL。一种方法是在浏览器中创建扩展。但是在其他应用程序中我们不能。这是一个示例:我去某个站点并打开一些mp3:

mp3来自sote

如果您可以看到音乐正在播放,并且有URL。当音乐开始播放时,我想获得此URL。我怎样才能做到这一点?以及如何获取在某些应用程序中播放的音乐的URL?可能吗?

Roa*_*aim 2

如果您可以看到音乐正在播放并且有一个 URL。我想在音乐开始播放时获取此 URL。我怎样才能做到这一点?

如果您要将网站加载到 中WebView,最简单的方法是通过拦截请求WebViewClient并检查 URL 是否包含“.mp3”来获取 URL。请参阅以下示例,

public class YourWebViewClient extends WebViewClient {
        @Override
        public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
            String url = request.getUrl().toString();
            if (url.contains(".mp3")) {
                Log.d(TAG, "MP3 url = [" + url + "]");
            }
            return super.shouldInterceptRequest(view, request);
        }
}
Run Code Online (Sandbox Code Playgroud)

如何获取某些应用程序中正在播放的音乐的 URL?是否可以?

是的,可以,但不太容易,特别是如果您要从 SSL 流量中获取它。要嗅探其他应用程序的网络流量,您需要执行MITM。Play 商店中有几个应用程序正在做完全相同的事情。您可以查看HttpCanary应用程序以供参考。基本上您需要执行以下步骤 -

  1. 设置代理服务器
  2. 配置您的设备以将其网络流量传递到该代理服务器
  3. 请求代理服务器给你网络数据
  4. 分析网络数据,查看是否包含“mp3”URL

如果需要拦截https流量,则需要生成并安装SSL证书。