1. 網易雲音樂API怎麼調用
2. 我想知道QQ音樂 百度音樂 有沒有開放API 使之可以獲取用戶的音樂列表
★獲取排行榜
目前抓到兩個排行榜的地址:
新歌榜:http://music.qq.com/musicbox/shop/v3/data/hit/hit_newsong.js
總榜:http://music.qq.com/musicbox/shop/v3/data/hit/hit_all.js
因為還沒有進行進一步的嘗試就不放例子了
★獲取音樂地址
http://stream1歌曲信息中的location值.qqmusic.qq.com/3歌曲ID(7位數,不足在前面補0). mp3
例如之前搜索出來的第一首歌的地址應該是:
http://stream18.qqmusic.qq.com/31679711. mp3
第二首歌的地址應該是
http://stream13.qqmusic.qq.com/31516144. mp3
這個仍然在測試中,希望對和我一樣正在努力做在線音樂的童鞋有些幫助。
3. 如何使用抓包工具獲取百度音樂api
試試抄看在<body>中輸入這段代碼:<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-3689486-1");
pageTracker._initData();
pageTracker._trackPageview();
pagePublicTracker = _gat._getTracker("UA-10197155-1");
pagePublicTracker._initData();
var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://");
document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm..com/h.js%' type='text/javascript'%3E%3C/script%3E"));
</script>
4. 百度音樂開放api官網說明在哪裡 有研究過的朋友說下地址唄
沒看懂你說的什麼,但你要找的是網路開放api的網址是回http://alading..com
ps你是指ape這種音樂格式嗎答
5. 在一個瀏覽器附加組件上添加QQ音樂,網易雲等的API是侵權嗎
用戶不侵權 開發者侵權
6. 會聲會影x6怎麼處理音樂介面,我是新手,我接的音樂介面處太明顯,請問怎處理介面
想要前後兩段音樂介面處不至於太突兀,需要滿足兩個條件,第一,兩段音樂的風回格、節奏不要答相差太大,如果碰到這樣的介面,需要想辦法加過渡音樂。第二,在兩段音樂的介面處做淡入淡出的處理,這只要將兩段音樂重疊一部分,重疊部分就自動會做淡入淡出處理。
7. 誰有音樂網站的api介面,要可用的,能讀取出歌曲跟歌名就好了
如果你愛我 - 曹軒賓
詞:曹軒賓
曲:曹軒賓
海的另一邊
有我的思念
是苦是甜
是哪回一答種感覺
如果有一天
我們會相見
我說我愛你
會不會太直接
雲和天離別
沒說過再見
因為有風
為他帶去思念
落下的琴弦
你如何聽見
這旋律彌漫
記憶中你的臉
如果你愛我
如果你愛我
我想我一定是
世界最幸福的
你為我的生命
畫上了最美的顏色
雲和天離別
沒說過再見
因為有風
為他帶去思念
落下的琴弦
你如何聽見
這旋律彌漫
記憶中你的臉
如果你愛我
如果你愛我
我想我一定是
世界最幸福的
你為我的生命
畫上了最美的顏色
如果你愛我
如果你愛我
我想我一定是
世界最幸福的
你為我的生命
畫上了最美的顏色
兩顆心相戀
會有多少年
你我依然
記得曾經的畫面
時間的變遷
生命的斑斕
我會牽著你
走共同的歲月
8. 音樂平台的「API 」和「介面」怎麼對調使用
首要做的事情就是聯系巔峰開放平台,申請相關的appid和appSecret。
然後保存到本地,在調用介面的版時候使用權,否則將無許可權進行介面的調用。
9. 借用百度音樂API開發播放器是否違法
自己用沒人管。。
10. 如何實現API背景音樂播放
第一篇寫的這些內容很簡單,跟鏈接作者寫的幾乎一樣。
他寫的比較復雜,有些實現方式也不一樣,所以自己寫個博客記錄一下...O(∩_∩)O~
這個播放器很簡單,如果你是什麼Api都不知道,看了這個兩天就寫完了,你可以邊看邊查相關的API是幹嘛用的,如果之前都了解了相關的API,那麼一天就能編完。
做一個播放器的大致思路是什麼呢?播放器當然是要有播放的功能咯,這是我在廢話。這個播放器是不帶下載功能的,所以肯定是從你手機中獲取已經存在的音樂。於是第一步就是獲取手機中的音樂信息,這個跟播放器的界面沒什麼聯系,那你可以把它寫成一個工具類,叫做GetMusicListUtil,專門用來獲取手機音樂信息的類。
上代碼:
public class GetMusicListUtil {
/**
* 從手機中得到所有的音樂,放在list中保存
*
* @param context
* @return
* @author Yang
*/
public static List<Mp3Info> getMusicInfos(Context context)
{
Cursor cursor = context.getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
List<Mp3Info> musicInfos = new ArrayList<Mp3Info>();
for(int i=0; i<cursor.getCount(); i++)
{
cursor.moveToNext();
Mp3Info music = new Mp3Info();
long musicId = cursor.getLong(cursor
.getColumnIndex(MediaStore.Audio.Media._ID));
String musicTitle = cursor.getString(cursor
.getColumnIndex(MediaStore.Audio.Media.TITLE));
String musicArtist = cursor.getString(cursor
.getColumnIndex(MediaStore.Audio.Media.ARTIST));
long musicTime = cursor.getLong(cursor
.getColumnIndex(MediaStore.Audio.Media.DURATION)); //時長
long musicSize = cursor.getLong(cursor
.getColumnIndex(MediaStore.Audio.Media.SIZE)); //文件大小
String musicUrl = cursor.getString(cursor
.getColumnIndex(MediaStore.Audio.Media.DATA)); //文件路徑
int isMusic = cursor.getInt(cursor
.getColumnIndex(MediaStore.Audio.Media.IS_MUSIC));
//只把音樂添加到集合中
if(isMusic != 0)
{
music.setId(musicId);
music.setArtist(musicArtist);
music.setDuration(musicTime);
music.setSize(musicSize);
music.setUrl(musicUrl);
music.setTitle(musicTitle);
musicInfos.add(music);
}
}
return musicInfos;
}
/**
* 將因音樂的時長由毫秒轉換成分:秒的格式
*
* @param time
* @return
* @author Yang
*/
public static String formatTime(long time) {
String min = time / (1000 * 60) + "";
String sec = time % (1000 * 60) + "";
if (min.length() < 2) {
min = "0" + time / (1000 * 60) + "";
} else {
min = time / (1000 * 60) + "";
}
if (sec.length() == 4) {
sec = "0" + (time % (1000 * 60)) + "";
} else if (sec.length() == 3) {
sec = "00" + (time % (1000 * 60)) + "";
} else if (sec.length() == 2) {
sec = "000" + (time % (1000 * 60)) + "";
} else if (sec.length() == 1) {
sec = "0000" + (time % (1000 * 60)) + "";
}
return min + ":" + sec.trim().substring(0, 2);
}
/**
* 將List<Mp3Info>轉換成List<HashMap<String,String>>的格式
* 為了給SimpleAdapter填充數據
*
* @param musicInfos
* @return
* @author Yang
*
*/
public static List<HashMap<String,String>> getMusicHashMaps(
List<Mp3Info> musicInfos)
{
List<HashMap<String,String>> musicHashMaps =
new ArrayList<HashMap<String,String>>();
for(Iterator<Mp3Info> iterator = musicInfos.iterator();iterator.hasNext();)
{
Mp3Info music = iterator.next();
HashMap<String,String> map = new HashMap<String,String>();
map.put("title", music.getTitle());
map.put("artist", music.getArtist());
map.put("size", String.valueOf(music.getSize()));
map.put("time", formatTime(music.getDuration()));
map.put("url", music.getUrl());
musicHashMaps.add(map);
}
return musicHashMaps;
}
}
相信大家都能看懂,Cursor對象進行查詢,然後存到一個Mp3Info類型的List中,之所以下面還寫了一個List<HashMap<String,String>>進行保存,就是為了給SimpleAdapter用的,這個adapter給listView填充數據。
這個和原作者寫的沒什麼區別,另外其中的Mp3Info是一個javabean,如下所示:
package org.com.ViPlayer;
public class Mp3Info
{
public long id;
public String title;
public String artist;
public long ration;
public long size;
public String url;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getArtist() {
return artist;
}
public void setArtist(String artist) {
this.artist = artist;
}
public long getDuration() {
return ration;
}
public void setDuration(long ration) {
this.ration = ration;
}
public long getSize() {
return size;
}
public void setSize(long size) {
this.size = size;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
有了音樂的信息之後,我們可以開始編輯界面了,我的界面裡面的那些個圖片也是在原創作者頁面下載的。但是裡面的模式稍微有些不一樣,被我給簡化了。。。
一共只用到了這么多圖片:背景,播放按鈕圖,下一首按鈕圖,前一首按鈕圖,音樂模式按鈕圖,音樂小圖標。
然後就是主界面xml文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bk1"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<LinearLayout
android:id="@+id/handleButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" >
<Button
android:id="@+id/repeat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_alignParentLeft="true"
android:background="@drawable/repeat_none" />
<Button
android:id="@+id/previous"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_toRightOf="@+id/repeat"
android:background="@drawable/previous" />
<Button
android:id="@+id/playMusic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_toRightOf="@+id/previous"
android:background="@drawable/play" />
<Button
android:id="@+id/next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_toRightOf="@+id/playMusic"
android:background="@drawable/next" />
<!-- <Button
android:id="@+id/randomMode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_toRightOf="@+id/next"
android:background="@drawable/random1" /> -->
</LinearLayout>
<ListView
android:id="@+id/musicList"
android:layout_width="fill_parent"
android:layout_height="300dp"
android:layout_below="@+id/handleButton" >
</ListView>
<RelativeLayout
android:id="@+id/songInfo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/musicList"
android:layout_alignParentBottom="true"