rainplus-team / penguinplayer Goto Github PK
View Code? Open in Web Editor NEWA simple mini web player / 一个迷你网页播放器
Home Page: https://pplayer.js.org
License: MIT License
A simple mini web player / 一个迷你网页播放器
Home Page: https://pplayer.js.org
License: MIT License
Upload used PHP Back-End apis so that we could build up our own api
Add a UI that can view full lyric of the current song and can modify some lyric settings
Add more famous music platforms in China to fit more user's requirements.
The scrollbar plugin that the player is using now has some disadvantages, in order to provide a better scrolling experience, a new scrollbar plugin is required. Or we can fall back to the native scrollbar.
Cannot interact with the UI to start playing/stop playing/get the next song that is going to come up.
Edge version 40.15254.603.0
EdgeHTML 15.15254
Try to support Internet Explorer (11)
进度条加载的时间过长,打开https://m4tec.github.io/PenguinPlayer/demo.html 后好久才出现
Some users might need Internet Explorer support and some not, so it's necessary to split them out in order to make the player load faster and smaller.
An embed version allows the player to be inserted directly into somewhere in the webpage. This will allow it to be created multiple times.
Refactor player.ts
to improve code quality, this will be very helpful when updating the player later.
Auto-scroll shouldn't trigger the cooldown trigger, this will cause the auto-scroll to disable itself for 3 seconds.
Describe the bug
When play next, error appears by chance.
To Reproduce
Use random
playmode, keep play next.
Expected behavior
No error
Desktop:
Additional context
Stacktrace:
Uncaught TypeError: Cannot read properties of undefined (reading 'index')
at Object.handleNext (player.mjs:formatted:986:157)
at ye.next (player.mjs:formatted:735:35)
at MediaSession.<anonymous> (player.mjs:formatted:1059:99)
handleNext @ player.mjs:formatted:986
next @ player.mjs:formatted:735
(Anonymous) @ player.mjs:formatted:1059
Code clip
handleNext() {
var e = this.findRandId(this.player.currentSongIndex);
e < 0 || e >= this.randomizedList.length ? this.player.play(this.randomizedList[0].index) : this.player.play(this.randomizedList[e + 1].index)
}
The progress bar won't be able to drag to the real
position of the song's begin and end position when listening to VIP songs.
Slider
will cause errors when handling TouchEvent
, as a result, most touch devices will not working properly if using this player.
Also, there is some style incompatible situation need to be fixed
Code must be refactored. It's now a mess, tidy it up might be helpful for later development.
Publish as a package to npm, this will make the player easier to install.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.