Java 如何获取mp3播放时的URL
我们可以播放来自浏览器、社交网络、应用程序的mp3文件。。。我想得到mp3播放时的URL。这里的一种方法是在浏览器中创建扩展。但在其他应用程序中,我们不能。以下是一个例子: 我去了一些网站,打开了一些mp3:Java 如何获取mp3播放时的URL,java,android,download,mp3,Java,Android,Download,Mp3,我们可以播放来自浏览器、社交网络、应用程序的mp3文件。。。我想得到mp3播放时的URL。这里的一种方法是在浏览器中创建扩展。但在其他应用程序中,我们不能。以下是一个例子: 我去了一些网站,打开了一些mp3: 如果你能看到正在播放的音乐,它有一个URL。我想在音乐开始播放时获取此URL。我该怎么做?我怎样才能获得在某些应用程序中播放的音乐的URL?有可能吗?首先从maven导入JSOUP库 compile 'org.jsoup:jsoup:1.12.1' 之后,请使用此代码
如果你能看到正在播放的音乐,它有一个URL。我想在音乐开始播放时获取此URL。我该怎么做?我怎样才能获得在某些应用程序中播放的音乐的URL?有可能吗?首先从maven导入JSOUP库
compile 'org.jsoup:jsoup:1.12.1'
之后,请使用此代码
Document doc = Jsoup.connect(url).get();
System.out.println(doc.title());
Elements h1s = doc.select(".jp-type-single");
System.out.println("Number of results: " + h1s.size());
for (Element element : h1s) {
String mp3Url = element.attr("data-xc-filepath");
System.out.println("mp3 url: " + mp3Url);
file_num++;
URLConnection conn = new URL(mp3Url).openConnection();
InputStream is = conn.getInputStream();
OutputStream outstream = new FileOutputStream(new
File("/users/pelican/downloads/"+file_num+"file.mp3"));
byte[] buffer = new byte[4096];
int len;
while ((len = is.read(buffer)) > 0) {
outstream.write(buffer, 0, len);
}
现在让我解释一下
JSOUP使用您的HTML URL获取网页
之后,它将转换为doc
然后,它使用一个select方法来选择元素,这里我们得到了我们想要搜索的第一个音频标签
如果你能看到正在播放的音乐,它有一个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);
}
}
我怎样才能获得在某些应用程序中播放的音乐的URL?它是
可能吗
是的,这是可能的,但不太容易,尤其是当您要从SSL通信中获得它时。要嗅探其他应用程序的网络流量,您需要执行以下操作。play store中有几个应用程序正在做完全相同的事情。您可以查看应用程序以供参考。基本上,您需要执行以下步骤-
如果您需要拦截https流量,则需要生成并安装SSL证书。您尝试播放的mp3是什么?我的意思是,如果您正在播放mp3,您的存储中应该已经有它的url或文件路径,否则您将无法播放任何mp3。@Jaswansh我们可以从网站、应用程序(例如VK、Facebook…)播放mp3,而不仅仅是从存储中播放如果您使用Facebook或YouTube作为源,由于这些网站没有透露mp3的来源,因此无法获取mp3的url。此外,下载这些mp3是不合法的。Afaik@JaswantSingh,明白了,浏览器呢?如果你注意到了,有些网站由于隐私和其他原因而不显示url(源),而有些网站则会这样做,要从这些网站获取url,你需要解析完整的HTML(DOM)页面以查找音频源,方法是使用某种正则表达式来查找模式。