如何解决如何获取 Chrome 标签中播放的音频名称
我们正在开发一个 Chrome 扩展程序,我们正在尝试弄清楚如何获取当前在 Chrome 中播放的音频的名称。我们知道,在 Chrome 中播放音频时,会有一个图标显示正在播放的音频的名称。下面的屏幕截图说明了一个示例,其中正在播放一个名为“Chrome 和网络 2020”的视频。
有什么方法可以通过我们的 Chrome 扩展程序获取视频播放的标题(在此示例中为“Chrome 和 2020 年的网络”)?我们希望我们的扩展程序能够知道用户正在收听的视频或歌曲。谢谢!
解决方法
根据 Video resource 的官方文档,可以找到给定 YouTube 视频的标题作为属性 snippet.title
的价值。
可以通过 API 的 Videos.list
端点查询此属性(属于视频资源的任何其他属性)。
例如,在以下 URL 上发出 curl
:
https://www.googleapis.com/youtube/v3/videos?key=$APP_KEY&id=14pb8t1lHws&part=snippet&fields=items/snippet/title&maxResults=1
将调用将生成仅包含该视频标题的 JSON response 文本的端点:
{
"items": [
{
"snippet": {
"title": "Chrome and the web in 2020"
}
}
]
}
对于 Javascript GAPI
(即 Google 的浏览器端 JavaScript 客户端库)实现,代码如下所示:
var app_key = ...;
var videoTitle;
function loadAPIClientInterfaces() {
gapi.client.load('youtube','v3',function() {
getVideoTitle('14pb8t1lHws');
});
}
function getVideoTitle(videoId) {
var request = gapi.client.youtube.videos.list({
id: videoId,part: 'snippet',fields: 'items/snippet/title',key: app_key
});
request.execute(function(response) {
if ('error' in response) {
displayMessage(response.error.message);
} else {
videoTitle = response.items[0].snippet.title;
}
});
}
请注意,上面的代码使用 fields
请求参数从 Videos.list
端点仅获取视频的标题(最好仅从 API 请求实际使用的信息).
另请注意,$APP_KEY
和 app_key
是(shell 和 Javascript)变量,设置为包含与通过 Google's developers console 创建的项目关联的有效 API 密钥。>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。