Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

希望新增loop功能 #2

Open
ErrorWindows98 opened this issue Oct 14, 2023 · 1 comment
Open

希望新增loop功能 #2

ErrorWindows98 opened this issue Oct 14, 2023 · 1 comment

Comments

@ErrorWindows98
Copy link

一切都很好用! 希望能夠多新增一個loop 播放清單循環播放的功能!

@phoxwupsh
Copy link
Owner

這個問題在開源之前我的朋友冰羊就有提出
但由於我們的播放清單長度不是固定的
並且一個項目一經播放就會消失
你應該也有注意到這個機器人沒有「上一個」功能
現階段要做到這個功能可能會有以下兩種做法
也有它們各自的問題

  • 這個方法是冰羊建議的,為播放清單循環設定一個開關,當播放任何項目時,會同時將該項目加到播放清單的最尾端
    • 這個方法在開關維持開著的情況下會達到播放清單循環的效果沒錯,但邏輯上這其實不是在循環撥放清單,因為我們缺少播放清單前面的context
    • 假設一個狀況,如果有人每播一個項目就切換一次這個開關,那這實際上是在建立另一個新的播放清單
  • 增加歷史紀錄的功能,當播放任何項目時,會同時將該項目加入到歷史紀錄的最尾端,當播放清單被播完時就將歷史紀錄全部搬到播放清單裡,而且這個功能的實作也順便實作了「上一個」
    • 這個方法的問題是,這個歷史紀錄會無限制的增長下去嗎?
      • 如果會,那這個歷史紀錄遲早會變得超級長,所以勢必要有個清空歷史紀錄的功能,但這麼做會讓要被循環撥放的播放清單一起被刪除掉,換而言之你必須要在你想循環播放清單的時候先清空歷史紀錄,但這樣做很麻煩,而且歷史紀錄就直接沒了
      • 如果不會,那就代表歷史紀錄是有長度限制的,那也代表任何可循環的播放清單都有長度限制,這顯然不合理

因此這還是回到問題的根源
我們的播放清單長度不是固定的
我知道我也可以實作有固定長度的播放清單
然後讓一個伺服器裡面可以自由新增、編輯播放清單
但這個功能會需要考慮像是播放清單的管理、存取權限等問題
會讓這個機器人變的很複雜
跟我原本以簡單好用為出發點的設計相違

以上是我的考量
如果你有什麼好點子的話也歡迎提出討論

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants