2.6.1 • Published 8 years ago
cPlayer v2.6.1
cPlayer
Warning: Loaded well in Internet Explorer 10+, FireFox, Chrome, Edge and so on...(Modern Browser like.)
Screenshot
Install && Build
npm install
npm run distMake a DEMO and serve with it
npm run demo
npm run serveUsage
HTML
<html>
<body>
...
<div id="here"></div>
...
<script src=".../cplayer.min.js"></script>
</body>
</html>Javascript
let cp = new cPlayer({
"element":document.getElementById("here"),
"list":[
//Sync
{
"name":"xxx", //The Music's Name
"artist":"www",//The Music's Artist
"image":"http://xxxxx",//The Music's Cover
"url":"http://xxxxx",//The Music's URL
"loop":true,//If loop === true,the Music will be played again and again.
"lyric":`
[00:00.00]XXXXXXXX
.....
[00:99.99][11:99.99]XXXXX
`,//The Lyric(Extra)
"transLyric":`
[00:00.00]XXXXXXXX
.....
[00:99.99][11:99.99]XXXXX
`//The Translated of Lyric(Extra),Must work with `lyric`.
},
//Async
{
"name":"xxx",
"artist":"www",
"img":"http://xxxxx",
"url":{
"waiter":fetch("xxx").then(xxx),
"resolve":function(xxx){...} //param is what you have got from waiter(),which means that the xxx includes not a Promise but sth else.And it should return a string.
},
"loop":true,
"lyric":{
"waiter":fetch("xxx").then(xxx),
"resolve":function(xxx){...} //Nearly as same as above,but it should return {lyric:string|null,transLyric:string|null}
}
},
.........
]
});APIs
cp.play()// Playcp.pause()// Pausecp.volume(number)// Set Volumecp.isMuted()// Return if the music is mutedcp.isPaused()// Return if the music is pausedcp.last()// Set the previous musiccp.next()// Set the next musiccp.to(now)// Set the music you setcp.hasLyric(id)// Return if the music you set has lyriccp.showLyric()// Show the Lyric Body,if the music at that time hasn't lyric,DO NOTHING;if the Lyric Body is already shown,HIDE IT.cp.hideLyric()// Hide the Lyric Bodycp.hasList()cp.showList()cp.hideList()// (The Same As Above)cp.add(options)// Add music(the options is like above)cp.lyric(a)//<async>Set Lyric or Get Lyriccp.refreshLyric()//<async>Refresh the lyric now from__LYRIC__(unuseful)cp.updateTime()// Set Music's Current Timecp.on(eventName,func)//Set Eventscp.translate()//<async>Make the translated(with transLyric)
Events
Now Here are some events.
| Event | param | Note |
|---|---|---|
| play | ||
| pause | ||
| volumechange | √ | Return the music's own event object |
| timeupdate | √ | The same as above |
| canplaythrough | ||
| ended | ||
| toggle | ||
| previous | ||
| next | ||
| changeList | ||
| changeLyric | ||
| slideList | √ | If showed,the param is true;If not,the param is false |
| slideLyric | √ | The same as above |
| clickListPower | ||
| clickLyricPower | ||
| clickVolumePower |
Usage
cp.on("slideLyric",([showed])=>{
if(showed===true){
//...
}else{
//...
}
}).on("timeupdate",([ev])=>{
//...
})TODOLIST
- Playlist Order Mode(Random/Asc/Desc(Order By ID))
- Context Menu(previous, next and translate)
DEMO
Plugins
Jad's cPlayer-Typecho-Plugin: Click here
2.6.1
8 years ago
2.4.8
8 years ago
2.4.7
8 years ago
2.4.6
8 years ago
2.4.5
9 years ago
2.4.4
9 years ago
2.4.3
9 years ago
2.4.2
9 years ago
2.4.1
9 years ago
2.4.0
9 years ago
2.3.12
9 years ago
2.3.11
9 years ago
2.3.8
9 years ago
2.3.7
9 years ago
2.3.6
9 years ago
2.3.5
9 years ago
2.3.0
9 years ago
2.0.2
9 years ago
2.0.1
9 years ago
