音乐api接口文档(音乐播放接口)

网友投稿 2168 2023-02-20


本篇文章给大家谈谈音乐api接口文档,以及音乐播放接口对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享音乐api接口文档的知识,其中也会对音乐播放接口进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

音乐平台API 和接口调用

首要做的事情就是联系巅峰开放平台,申请相关的appid和appSecret。

然后保存到本地,在调用接口的时候使用,否则将无权限进行接口的调用。

1.接口调用原理

调用巅峰开放平台的API接口时,即是API调用端(即用户调用接口运行的程序)调用API服务器端的数据(即RC2P提供的服务器,可调用巅峰开放平台上的数据)时的交互流程。

2.申请调用接口使用权限

首先介绍概念:

appSecret:应用密钥,也是巅峰开放平台颁发给客户端应用的,不可对外公开,不需要在URL地址中进行传递,应用商家需注意保密,调用API的时候需要使用。

通过上面的介绍可知,如果要想调用巅峰开放平台的API接口服务,首要做的事情就是联系巅峰开放平台,申请相关的appid和appSecret,然后保存到本地,在调用接口的时候使用,否则将无权限进行接口的调用。

3.如何加密

针对每个API接口,都可能拼出不同的URL,针对该URL,需要调用巅峰开放平台提供的rc2p-utils.jar 实现加密,并将加密的值作为access_token参数的值。

音乐视频站api接口

API:应用程序接口(API:Application Program Interface)
应用程序接口(API:application programming interface)是一组定义、程序及协议的集合,通过 API 接口实现计算机软件之间的相互通信。API 的一个主要功能是提供通用功能集。程序员通过使用 API 函数开发应用程序,从而可以避免编写无用程序,以减轻编程任务。
API 同时也是一种中间件,为各种不同平台提供数据共享。根据单个或分布式平台上不同软件应用程序间的数据共享性能,可以将 API 分为四种类型:
远程过程调用(RPC):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。
标准查询语言(SQL):是标准的访问数据的查询语言,通过通用数据库实现应用程序间的数据共享。
文件传输:文件传输通过发送格式化文件实现应用程序间数据共享。
信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享。
当前应用于 API 的标准包括 ANSI 标准 SQL API。另外还有一些应用于其它类型的标准尚在制定之中。API 可以应用于所有计算机平台和操作系统。这些 API 以不同的格式连接数据(如共享数据缓存器、数据库结构、文件框架)。每种数据格式要求以不同的数据命令和参数实现正确的数据通信,但同时也会产生不同类型的错误。因此,除了具备执行数据共享任务所需的知识以外,这些类型的 API 还必须解决很多网络参数问题和可能的差错条件,即每个应用程序都必须清楚自身是否有强大的性能支持程序间通信。相反由于这种 API 只处理一种信息格式,所以该情形下的信息交付 API 只提供较小的命令、网络参数以及差错条件子集。正因为如此,交付 API 方式大大降低了系统复杂性,所以当应用程序需要通过多个平台实现数据共享时,采用信息交付 API 类型是比较理想的选择。
API 与图形用户接口(GUI)或命令接口有着鲜明的差别:API 接口属于一种操作系统或程序接口,而后两者都属于直接用户接口。
有时公司会将 API 作为其公共开放系统。也就是说,公司制定自己的系统接口标准,当需要执行系统整合、自定义和程序应用等操作时,公司所有成员都可以通过该接口标准调用源代码,该接口标准被称之为开放式 API。

如何使 WebAPI 自动生成漂亮又实用在线API文档

1.1 SwaggerUI
SwaggerUI 是一个简单的Restful API 测试和文档工具。简单、漂亮、易用(官方demo)。通过读取JSON 配置显示API. 项目本身仅仅也只依赖一些 html,css.js静态文件. 你可以几乎放在任何Web容器上使用。
1.2 Swashbuckle
Swashbuckle 是.NET类库,可以将WebAPI所有开放的控制器方法生成对应SwaggerUI的JSON配置。再通过SwaggerUI 显示出来。类库中已经包含SwaggerUI 。所以不需要额外安装。
2.快速开始
创建项目 OnlineAPI来封装百度音乐服务(示例下载) ,通过API可以搜索、获取音乐的信息和播放连接。
我尽量删除一些我们demo中不会用到的一些文件,使其看上去比较简洁。
WebAPI 安装 Swashbuckle
Install-Package Swashbuckle
代码注释生成文档说明。
Swashbuckle 是通过生成的XML文件来读取注释的,生成 SwaggerUI,JSON 配置中的说明的。
安装时会在项目目录 App_Start 文件夹下生成一个 SwaggerConfig.cs 配置文件,用于配置 SwaggerUI 相关展示行为的。如图:
将配置文件大概99行注释去掉并修改为
c.IncludeXmlComments(GetXmlCommentsPath(thisAssembly.GetName().Name));
并在当前类中添加一个方法
/// <summary
/// </summary
/// <param name="name"</param
/// <returns</returns
protected static string GetXmlCommentsPath(string name)
{
return string.Format(@"{0}\bin\{1}.XML", AppDomain.CurrentDomain.BaseDirectory, name);
}
紧接着你在此Web项目属性生成选卡中勾选 “XML 文档文件”,编译过程中生成类库的注释文件
添加百度音乐 3个API
访问 lt;youhost/swagger/ui/index,最终显示效果
我们通过API 测试API 是否成功运行
3.添加自定义HTTP Header
在开发移动端 API时常常需要验证权限,验证参数放在Http请求头中是再好不过了。WebAPI配合过滤器验证权限即可
首先我们需要创建一个 IOperationFilter 接口的类。IOperationFilter
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Http.Description;
using System.Web.Http.Filters;
using Swashbuckle.Swagger;
namespace OnlineAPI.Utility
{
public class HttpHeaderFilter : IOperationFilter
{
public void Apply(Operation operation, SchemaRegistry
schemaRegistry, ApiDescription apiDescription)
{
if (operation.parameters == null) operation.parameters = new
List<Parameter();
var filterPipeline =
apiDescription.ActionDescriptor.GetFilterPipeline();
//判断是否添加权限过滤器
var isAuthorized = filterPipeline.Select(filterInfo =
filterInfo.Instance).Any(filter = filter is IAuthorizationFilter);
//判断是否允许匿名方法
var allowAnonymous =
apiDescription.ActionDescriptor.GetCustomAttributes<AllowAnonymousAttribute().Any();
if (isAuthorized !allowAnonymous)
{
operation.parameters.Add(new Parameter
{
name = "access-key",
@in = "header",
description = "用户访问Key",
required = false,
type = "string"
});
}
}
}
}
在 SwaggerConfig.cs 的 EnableSwagger 配置匿名方法类添加一行注册代码
c.OperationFilter<HttpHeaderFilter();
添加Web权限过滤器
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Web;
using System.Web.Http;
using System.Web.Http.Controllers;
using Newtonsoft.Json;
namespace OnlineAPI.Utility
{
/// <summary
///
/// </summary
public class AccessKeyAttribute : AuthorizeAttribute
{
/// <summary
/// 权限验证
/// </summary
/// <param name="actionContext"</param
/// <returns</returns
protected override bool IsAuthorized(HttpActionContext actionContext)
{
var request = actionContext.Request;
if (request.Headers.Contains("access-key"))
{
var accessKey = request.Headers.GetValues("access-key").SingleOrDefault();
//TODO 验证Key
return accessKey == "123456789";
}
return false;
}
/// <summary
/// 处理未授权的请求
/// </summary
/// <param name="actionContext"</param
protected override void HandleUnauthorizedRequest(HttpActionContext actionContext)
{
var content = JsonConvert.SerializeObject(new {State = HttpStatusCode.Unauthorized});
actionContext.Response = new HttpResponseMessage
{
Content = new StringContent(content, Encoding.UTF8, "application/json"),
StatusCode = HttpStatusCode.Unauthorized
};
}
}
}
在你想要的ApiController 或者是 Action 添加过滤器
[AccessKey]
最终显示效果
4.显示上传文件参数
SwaggerUI 有上传文件的功能和添加自定义HTTP Header 做法类似,只是我们通过特殊的设置来标示API具有上传文件的功能
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http.Description;
using Swashbuckle.Swagger;
namespace OnlineAPI.Utility
{
/// <summary
///
/// </summary
public class UploadFilter : IOperationFilter
{
/// <summary
/// 文件上传
/// </summary
/// <param name="operation"</param
/// <param name="schemaRegistry"</param
/// <param name="apiDescription"</param
public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
{
if (!string.IsNullOrWhiteSpace(operation.summary) operation.summary.Contains("upload"))
{
operation.consumes.Add("application/form-data");
operation.parameters.Add(new Parameter
{
name = "file",
@in = "formData",
required = true,
type = "file"
});
}
}
}
}
在 SwaggerConfig.cs 的 EnableSwagger 配置匿名方法类添加一行注册代码
c.OperationFilter<UploadFilter();
API 文档展示效果

c# 调用QQ音乐、酷狗音乐API

直接上例子,最后拼得的url可以用MediaElement控件在线播放

QQ音乐

            https://c.y.qq.com/soso/fcgi-bin/client_search_cp?aggr=1cr=1flag_qc=0p=1n=2w=九张机

            //songmid可以从歌曲信息中取到,filename根据songmid生成。比如,songmid是003lghpv0jfFXG,则filename就是前缀加上C400,后缀加上.m4a,即C400003lghpv0jfFXG.m4a。其他字段format、platform、cid、guid可以写死,但都是必须的。

            string response = HttpGet(url, postData);

               //请求地址:https://c.y.qq.com/base/fcgi-bin/fcg_music_express_mobile3.fcg

                //请求参数:?format=json205361747platform=yqqcid=205361747songmid=001hwLQi3sUBnLfilename=C400001hwLQi3sUBnL.m4aguid=4942741185

                Get请求后解析json,保存获取的vkey

            //url的path就是上文中用到的filename。参数中的几个字段都是必须的:guid要和请求token时使用的guid保持一致,vkey即token中的vkey字段,fromtag随意指定一个整数,可以写死为0。

            //我拼的url:http://dl.stream.qqmusic.qq.com/C400001hwLQi3sUBnL.m4a?guid=4942741185vkey=A83D03264ABF4CA5BEA69BBFD0AB47B10AB2A0AE904C6A47E8BDC23FD4946F51E148781D9FD098875A237D117DED0B6A040524F13A6075E7fromtag=66

            string url= "http://dl.stream.qqmusic.qq.com/" + filename + "?guid=" + guid + "vkey=" + vkey + "fromtag=66";

酷狗音乐-搜索歌曲

            //必选参数:keyword(关键字)歌手或者歌曲名,这里需要转换urldecode

            //可选参数:page(第几页),pagesize(一页的搜索结果数目)

            //请求地址:http://songsearch.kugou.com/song_search_v2

            //请求参数:keyword=%e5%91%8a%e7%99%bd%e6%b0%94%e7%90%83page=1pagesize=1userid=-1clientver=platform=WebFiltertag=emfilter=2iscorrection=1privilege_filter=0

            string kgresponse = HttpGet(kgUrl, kgParmas);

             Get请求后解析json,保存获取的FileHash 、AlbumID 
            //请求地址:http://www.kugou.com/yy/index.php

            //请求参数 :r=play/getdatahash=" + FileHash + "album_id=" + AlbumID

                Get请求后解析json,这里获取的play_url贴到浏览器可以直接播放 

            }

Java web 调用网易云音乐的API

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

cmp播放器的API接口

CMP4的API接口简介
API就是应用程序接口音乐api接口文档,CMP4的API用来提供给插件或页面脚本进行调用音乐api接口文档,以达到对CMP4进行控制的目的
通过API,可以读取或设置CMP4的相关属性,可以调用部分方法,可以绑定一些事件进行侦听等等
CMP4支持API的地方:
(1),全局配置中插件plugins和背景backgrounds,自定义频谱mixer_src,还包括logo,video_image,lrc_image
(2),皮肤中的5个窗口背景src
(3),列表项的视频区背景bg_video和歌词区背景bg_lrc
(4),JavaScript页面脚本(部分支持),必须允许脚本通讯(allowScriptAccess=always)
其中Flash的脚本必须为ActionScript 3.0版本,所以API接口分以下两种情况进行讨论: 通过AS3的API接口通讯,我们可以在插件或皮肤中,直接获取CMP数据并进行控制,
下面是所以支持的属性,方法,事件
属性attributes:
cmp:Object;返回cmp对象
config:Object;取得cmp全局配置,包含所有可读写的全局配置,以及其音乐api接口文档他一些配置的只读属性,比如当前播放状态state,具体有哪些可用for in语句查询
item:Object;取得当前播放项,包含所有列表项属性,以及其他一些播放项的只读属性,具体有哪些可用for in语句查询
list_xml:XML;取得列表xml的引用
skin_xml:XMLList;取得当前皮肤配置的引用
tools:Object;返回cmp的工具箱,主要有:base64, effects, graphics, netclient, output, states, strings, types, zoom, zip
win_list:Object;
取得5个窗口的引用,有如下5个属性: option/list/media/console/lrc
当然还可以访问下一级对象,如要访问播放按钮bt_play则可:
var bt_play = api.win_list.console. bt_play;
结构和名称同皮肤包里面的skin.xml皮肤配置的结构和名称
方法methods:
addEventListener():void;
添加一个事件侦听器,如侦听皮肤加载完成事件:
api.addEventListener(api.key, 'skin_loaded', skinHandler);
特别不同,这里第一个参数需传入api.key,它是一个唯一key值,用于第三方flash移除时,销毁其key所在所有注册的事件
addProxy():void;
添加一个代理函数,用于src=proxy:函数名,函数参数这样的协议,如:
api.addProxy(youku, yk_callback);
这样就可以用自定义的yk_callback(函数参数)方法来解析协议:src=proxy:youku,函数参数
cookie():String读取(cookie(name))和写入(cookie(name, data))本地存储,类似于浏览器cookie,但无时间过期限制
removeEventListener():void;移除一个事件侦听器,如:api.removeEventListener('skin_loaded', skinHandler);
sendEvent():void;
发送一个事件,如:api.sendEvent(view_play);
如果有参数data要传递就是:api.sendEvent(view_play, data);
sendState():void;
发送一个新的播放状态,如将播放状态改为正连接:
api.sendState(connecting);
toString():String;打印api所有属性,方法,事件类型,方便查阅所有支持的api
事件类型events:按字母顺序
api发送api共享事件时调度
api_removeapi插件移除时调用
control_fullscreen全屏状态改变时调度
control_link打开链接页面时调度
control_load音乐开始加载时调度
control_max最大化改变时调度,事件的data将传递是lrc_max还是video_max
control_mute静音状态改变时调度
control_next播放下一个时调度
control_pause暂停时调度
control_play播放时调度
control_playmode播放模式改变时调度
control_prev播放上一个时调度
control_progress进度改变时调度
control_stop停止时调度
control_volume音量改变时调度
control_win窗口打开关闭时调度
control_winbt窗口对应按钮状态改变时调度
item_deleted
列表项删除时调度
事件的data将返回删除项对象
list_change列表已经改变时调度,表示新的列表已经刷新,可用于播放等操作
list_load
使列表开始加载时调度
事件的data可以传入新指定的配置lists进行加载
list_loaded
列表内容加载完时调度,多个列表会调度多个,每次会将加载的列表数据进行解析,然后附加到总列表,再刷新列表
事件的data可以传入新指定的xml列表内容字符进行解析,此功能便于外载调用,直接输入列表内容
lrc_complete
歌词成功加载完成时调度
事件data返回当前加载成功的歌词类型:lrc或kmc
lrc_error
歌词加载或解析错误时调度
事件data将返回错误信息
lrc_load
使当前音乐的歌词开始加载时调度
事件data可以传入指定当前音乐的歌词地址,支持lrc和kmc地址
lrc_loaded
歌词加载完成时调度
事件data可以传入指定的歌词内容,支持lrc和kmc格式内容
lrc_max对歌词最大化状态进行切换
lrc_resize歌词尺寸改变时调度,包括对歌词进行缩放调整
lrc_rowchange
当前歌词行内容改变时调度,仅支持lrc和kmc格式
事件data将传递返回当前行的歌词内容
有了这个事件可以很方便的调用js api在浏览器标题栏或状态栏打印当前位置的歌词
mixer_color
对混音器颜色进行变更时调度
事件data可以传入新的颜色值
mixer_displace
对混音器的置换效果状态进行切换时调度
事件data可传入true或false
mixer_filter
对混音器的滤镜效果状态进行切换时调度
事件data可传入true或false
mixer_next
使用下一个混音器效果时调度
事件data可以传入下一个频谱效果的id
mixer_prev
使用上一个混音器效果时调度
事件data可以传入下一个频谱效果的id
model_change
模块改变时调度
事件data可以传入要使用的新模块类型type
model_error
当前项发生错误时调度
事件data将返回错误信息
model_load
模块开始加载时调度
事件data可以传入即将要播放媒体url
model_loaded当前项下载完成时调度
model_loading当前项正在下载时调度
model_meta
当前项取得meta信息时调度
事件data将返回meta数据对象
model_start当前项第一次开始播放时调度,一般此时才开始加载歌词或开始显示频谱
model_state
当前项状态改变时调度
事件data将返回当前状态,所有支持状态码为:
undefined 未定义
connecting 连接中
buffering 缓冲
playing 正在播放
paused 已暂停
stopped 已停止
completed 播放完成
reconnecting 重试连接
状态改变时,将在皮肤的状态栏显示当前状态对应的说明,说明可以在皮肤配置的languages多语言里自定义
model_time当前项播放时间改变时调度
plugins_load
插件和背景开始加载时调度
事件data可传入新指定的配置plugins(不支持backgrounds)进行加载
plugins_loadedplugins参数指定的插件全部加载完成时调度(此时将第一次加载列表lists指定的文件)
plugins_remove插件和背景移除时调度
resize播放器舞台改变尺寸时调度
skin_change
针对皮肤id对皮肤进行改变时调度
事件data可以直接传入新的皮肤id
skin_complete皮肤显示完成时调度
skin_load
皮肤开始加载时调度
事件data可以传入新指定的配置skins参数进行加载
skin_loaded皮肤加载完成时调度
video_blackwhite
对视频是否启用黑白效果滤镜
事件data可传入true或false
video_effect
对视频进行颜色滤镜(ColorMatrixFilter)改变时调度
事件data可以传入一个英文逗号隔开的数组值,用来新建颜色矩阵滤镜ColorMatrixFilter
video_highlight
对视频是否启用高亮效果滤镜
事件data可传入true或false
video_max对视频最大化进行切换时调度
video_resize视频尺寸改变时调度
video_rotation
对视频进行旋转时调度
事件data可以传入旋转的角度值,如90
video_scalemode
对视频进行缩放模式改变时调度
事件data可以传入支持缩放模式的id,支持0,1,2,3
video_smoothing
对视频是否启用平滑效果时调度
事件data可以传入true或false
view_console对控制窗口状态进行改变时调度
view_forward点击快进按钮时调度
view_fullscreen对全屏状态进行改变时调度
view_item
对播放项进行改变时调度
view_link
点击链接按钮时调度
事件data可以传入新指定的链接进行打开
view_list对列表窗口进行改变时调度
view_lrc对歌词窗口进行改变时调度
view_mute点击静音按钮时调度
view_next点击下一个按钮时调度
view_option对设置窗口进行改变时调度
view_play
点击播放或暂停按钮时调度
事件的data可以传递列表id位置,表示播放第几个
view_prev点击上一个按钮时调度
view_progress
拖动播放进度条时调度
事件data可以传入指定的进度百分值
view_random点击随机播放模式按钮时调度
view_repeat点击重复播放模式按钮时调度
view_rewind点击快退按钮时调度
view_single点击单遍播放模式按钮时播放
view_stop点击停止按钮时调度
view_video对视频窗口状态进行改变时调度
view_volume
拖动音量条时调度
事件data可以传入指定的volume音量值和panning平移值,用英文逗号隔开,如:1,0
具体API接口应用的例子可以见安装包的示例:plugins/ApiExample .as 或者直接到官方插件库查看,
全部附源文件: 下列函数的调用,需要先获取CMP所在flash的对象,也就是例子中的cmpo,获取方法见使用范例
cmp_api();只读,返回CMP所有支持的API信息,包括CMP支持的所以APIvar str = cmpo.cmp_api();
config();1,读取CMP当前所有的全局配置,返回一个Object对象,包含所有可读写的全局配置属性设置,以及其他一些只读属性var config = cmpo.config();
2,读取配置的某个属性值,具体支持哪些属性,可用for in语句查询
var name = cmpo.config(name);
var name = cmpo.config().name;
3,修改某个属性的值,需传入属性名称和值
注意:修改属性仅是将值写入配置中,需要下次有相关的刷新(如发送事件)才应用新的值
cmpo.config(skin_id, 1);
item();1,返回当前播放项的一个Object对象,如果没有开始任何播放,将返回null,其包含当前项的所有属性var item = cmpo.item();
2,返回当前播放项的某个属性值,具体支持哪些属性,可用for in语句查询
var src = cmpo.item(src);
var src = cmpo.item().src;
3,修改某个属性的值(一般不用)cmpo.item(src, test .mp3);
list_xml();1,读取CMP当前列表内容,返回一个xml的字符串var xml = cmpo.list_xml();
2,修改列表内容,需传入一个xml列表格式的字符串
var xml = '<list<m label=test src=test .mp3 /</list';
cmpo.list_xml(xml);
如果需要覆盖原有的音乐可以设置第2个参数,表示是否附加到原有列表后面,默认为true表示附加,传入false表示不附加,将重建列表并写入新的列表内容cmpo.list_xml(xml, false);
list();
1,返回CMP列表数的所有信息,包括未打开的列表
将返回一个数组,数组每项都是一个音乐项对象,类型为Object
var arr = cmpo.list();
读取一级列表的个数var num = cmpo.list().length;
返回第二个项,数组是从0开始的,第二个项索引就是1var m2 = cmpo.list()[1];
如果这个音乐项是个目录,则会有children属性,表示它下面的子列表,也是一个数组
以此类推,这样我们可以逐个循环得到整个列表
当然音乐项也有parent属性,表示其父目录对象
var m2_arr = m2.children;
2,返回某个指定的项对象
参数可以是包含唯一key值Object型的项对象,也可以直接传入字符型key值
key值可以从上面1中的列表项对象中读取
var item = cmpo.list(m2);
var item = cmpo.list(ITEM_1);
3,读取项的某个属性var src = cmpo.list(ITEM_1, src);
如果传入的参数是项支持的一个方法名,则执行此项的某个方法
目前支持:play播放此项, open打开此目录, close关闭此目录, toggle开关切换, remove移除此项
cmpo.list(ITEM_1, play);
skin_xml();只读,返回当前皮肤配置文件内容的xml字符形式var xml = cmpo.skin_xml();
skin();1,读取皮肤元件的某个属性值,第1个参数表示皮肤元件位置,第2个是元件属性名
var width = cmpo.skin(console, width);
var xywh = cmpo.skin(console .bt_play, xywh);
2,修改元件的某个属性,如果修改成功将返回truecmpo.skin(console .bt_play, xywh, 0, 0, 100, 20);
sendEvent();
往CMP发送事件
第1个参数是事件类型,所有支持类型见AS3中的所有事件类型列表
第2个参数是需要传入的数据(可选)
cmpo.sendEvent(view_play);
cmpo.sendEvent(view_play, 2);
addEventListener();
添加一个js侦听方法
第1个参数是事件类型,同上
第2个参数是回调函数名,字符串格式
cmpo.addEventListener(item_deleted, del);
function del(data) { }
removeEventListener();移除一个已经注册的js侦听方法cmpo.removeEventListener(item_deleted, del);
cookie();CMP的通用存储接口,可以在本地电脑存储并读取已经存储的数据,flash需启用本地存储(默认是10K容量),这些数据是永久储存的,而且跨浏览器
cmpo.cookie(name, CMP4);
var name = cmpo.cookie(name);

关于音乐api接口文档和音乐播放接口的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 音乐api接口文档的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于音乐播放接口、音乐api接口文档的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:接口冒烟测试用例(接口冒烟测试用例图)
下一篇:包含python做接口测试的词条
相关文章

 发表评论

暂时没有评论,来抢沙发吧~