soundcloud audio.js

2025-12-11 0 920

soundcloudaudio.js

围绕HTML5 <audio>和SoundCloud曲目和播放列表API包装。它可以被视为官方SoundCloud SDK或独立浏览器音频库的小替代品。

安装

npm install soundcloud-audio --save

用法

 const SoundCloudAudio = require ( \'soundcloud-audio\' ) ;

// create new instance of audio
// clientId is optional but without it you cannot play tracks directly from SoundCloud API
const scPlayer = new SoundCloudAudio ( \'YOUR_CLIENT_ID\' ) ;

// if you have a SoundCloud api stream url you can just play it like that
scPlayer . play ( {
  streamUrl : \'https://api.so*un*dcl*oud.com/tracks/185533328/stream\'
} ) ;

// OR if you want to play a NON-SoundCloud audio
scPlayer . play ( { streamUrl : \'https://ex*am*ple.co*m/plain/audio/file\' } ) ;

// OR if you need to load a SoundCloud track and resolve it\'s data
scPlayer . resolve ( \'https://sou*nd*c*loud.com/djangodjango/first-light\' , function (
  track
) {
  // do smth with track object
  // e.g. display data in a view etc.
  console . log ( track ) ;

  // once track is loaded it can be played
  scPlayer . play ( ) ;

  // stop playing track and keep silence
  scPlayer . pause ( ) ;
} ) ;

// OR a SoundCloud playlist and resolve it\'s data
scPlayer . resolve ( \'http://*s**oundcloud.com/jxnblk/sets/yello\' , function ( playlist ) {
  // do smth with array of `playlist.tracks` or playlist\'s metadata
  // e.g. display playlist info in a view etc.
  console . log ( playlist ) ;

  // once playlist is loaded it can be played
  scPlayer . play ( ) ;

  // for playlists it\'s possible to switch to another track in queue
  // e.g. we do it here when playing track is finished
  scPlayer . on ( \'ended\' , function ( ) {
    scPlayer . next ( ) ;
  } ) ;

  // play specific track from playlist by it\'s index
  scPlayer . play ( { playlistIndex : 2 } ) ;
} ) ; 

API

new SoundCloudAudio(\'YOUR_CLIENT_ID\', \'YOUR_CUSTOM_API_URL\')

创建一个SoundCloudaudio的实例,内部使用HTML5 <audio>元素,该元素可在音频属性下使用。

  • 第一个参数,客户端ID字符串是可选的,但是如果您计划直接使用SoundCloud API(可以在此处获取-https://developers.soundcloud.com)。
  • 第二个参数是自定义API URL字符串,也是可选的,但它允许您使用SoundCloud API代理不将客户端ID公开在浏览器中

方法

resolve(url, callback)

如果您没有SoundCloud stream_url (例如https://api.s*o*undc*loud.com/tracks/:id/stream ),或者您需要Track的元数据,那么此方法适合您。将原始曲目或播放列表的URL作为第一个论点。一旦数据解决而没有错误,回调函数将作为唯一的参数将其作为普通对象接收。

play(options)

如果现在不在播放的话,请开始播放轨道。

返回诺言并接受options对象:

  • options.streamUrl任何音频流URL字符串(例如SoundCloud Track的stream_url ),如果通过它,则将是主要的播放源。
  • options.playlistIndex指定在已解决的SoundCloud播放列表的tracks数组中播放的曲目的位置。

preload(streamUrl, preloadType)

预努加载跟踪数据而无需播放。

  • preloadType此属性旨在向浏览器提供有关作者认为会带来最佳用户体验的提示。它可能具有以下值之一:
    • \'none\' – 表示音频不应预加载
    • \'metadata\' – 表示仅获取音频元数据(例如长度)
    • \'auto\' – 指示可以下载整个音频文件,即使不希望用户使用它
    • 请参阅https://developer.m*o**zilla.org/en-us/docs/web/html/element/audio#attributes

pause()

暂停播放音频。

stop()

停止播放音频并倒带开始。

next(options)

跳到播放列表中的下一个曲目进行播放。

返回诺言并接受options对象:

  • options.loop -boolean,如果设置为true ,将在最后一首曲目之后的播放列表的开头开始。

previous()

返回播放列表中的先前曲目(返回承诺)。

seek(DOMEvent)

与HTML <progress>元素及其\’polyfills集成的帮助方法。它改变了audio.currentTime与进度位置有关。只需通过您在进度单击中收到的DOM事件,所有必要的计算将自动完成。

setVolume(volumePercentage)

调整音量,数量在0到1之间,0不可听到,而1个数量是完整的。

setTime(seconds)

将歌曲的进度设置为特定数量的秒数。

道具

audio

RAW <audio>元素的实例。有几个有用的属性,例如currentTime (以seconds为单位)或您可能需要使用addEventListener (在HTMLMediaElement的其中的完整列表)收听事件。

duration

SoundCloud轨道持续时间转换为seconds ,以与audio.currentTime同步。

playing

显示播放器的当前状态,返回当前流轨道的false或源。

事件

Soundcloudio提供了在本机audio事件上订阅或取消订阅处理程序功能的快捷方式。可以在此处访问支持事件的列表-https://developer.mozilla.org/en-us/docs/web/guide/guide/events/media_events。

on(\'event\', handler)

off(\'event\', handler)

unbindAll()

 var SoundCloudAudio = require ( \'soundcloud-audio\' ) ;

var scPlayer = new SoundCloudAudio ( \'YOUR_CLIENT_ID\' ) ;

scPlayer . play ( {
  streamUrl : \'https://api.so*un*dcl*oud.com/tracks/185533328/stream\'
} ) ;
scPlayer . on ( \'timeupdate\' , function ( ) {
  console . log ( scPlayer . audio . currentTime ) ;
} ) ;
scPlayer . on ( \'ended\' , function ( ) {
  console . log ( scPlayer . track . title + \' just ended!\' ) ;
} ) ; 

浏览器支持

铬合金 Firefox 即/边缘 歌剧 野生动物园
3+✔ 3.5+✔ 9+✔ 10+✔ 3.1+

执照

麻省理工学院许可

版权(c)2015 dmitri voronianski dmitri.voronianski@gmail.com

特此免费授予获得此软件副本和相关文档文件副本(“软件”)的任何人,以无限制处理该软件,包括无限制的使用权,复制,复制,修改,合并,合并,发布,分发,分发,分发,订婚,和/或允许软件的副本,并允许对以下条件提供以下条件,以下是以下条件。

上述版权通知和此许可通知应包含在软件的所有副本或大量部分中。

该软件是“原样”提供的,没有任何形式的明示或暗示保证,包括但不限于适销性,特定目的的适用性和非侵权的保证。在任何情况下,作者或版权持有人都不应对任何索赔,损害赔偿或其他责任责任,无论是在合同,侵权的诉讼中还是其他责任,是由软件,使用或与软件中的使用或其他交易有关的。

下载源码

通过命令行克隆项目:

git clone https://github.com/voronianski/soundcloud-audio.js.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 建站资源 soundcloud audio.js https://www.zuozi.net/35341.html

W25Q BRD
上一篇: W25Q BRD
radialMenu
下一篇: radialMenu
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务