用 python 編寫的基於 qt 的音樂下載器。
如果您有改進或功能的想法,請建立問題或加入不和諧伺服器進行討論!
確保 ffmpeg、python3 和 Git 已安裝並在您的$PATH
上可用。如果您使用的是 Windows,則還需要安裝 Microsoft C++ 建置工具並在開始建置程序之前重新啟動電腦。
下載或複製儲存庫git clone https://github.com/casualsnek/onthespot
導航到 onthespot 目錄cd onthespot
安裝軟體pip install -r requirements.txt
導航到來源目錄cd src
使用python3 -m onthespot
啟動應用程式
要求與上面的“啟動而不安裝”相同。
下載或複製儲存庫git clone https://github.com/casualsnek/onthespot
導航到 onthespot 目錄cd onthespot
建置包python -m build
安裝軟體pip install ./dist/*.whl
使用onthespot_gui
啟動應用程式
onthespot
可用於 arch 使用者儲存庫 (aur) 中的 arch linux 和基於 arch linux 的發行版,如 onthespot-git。
您可以使用您最喜歡的 aur 助手進行onthespot
安裝。
例如:使用 yay
yay -Sy onthespot-git
從發布部分下載最新的“onthespot_linux”並執行
chmod +x onthespot_linux ./onethespot_linux
從發布部分下載最新的“onthespot_win_ffm.exe”或“onthespot_win.exe”,然後雙擊下載的檔案來執行。
檔案名稱以「_ffm」結尾的二進位檔案捆綁了 ffmpeg,不需要手動安裝。
如果您使用的二進位檔案未捆綁 ffmpeg,並且下載進度卡在 99%,並且Converting
進度文本,那麼您就缺少 ffmpeg !請按照以下說明進行安裝
開啟 Windows 資源管理器並導航至C:
磁碟機並在其中建立資料夾名稱ffmpeg
從 https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-full.7z 下載 ffmpeg zip,然後將bin
資料夾從 zip 複製到C:ffmpeg
以管理員身分開啟CMD並執行指令: setx /m PATH "C:ffmpegbin;%PATH%"
現在應用程式應該按預期工作。
在任何作業系統上建置或打包都需要安裝 Git、Python3 和 Pip。確保您已安裝它們!
打開終端模擬器並運行以下命令來克隆儲存庫並建置。
git 克隆 https://github.com/casualsnek/onthespotcd onthespot
如果您想使用 ffmpeg 進行構建,請從此處下載適合您作業系統的 ffmpeg 二進位檔案。在儲存庫根目錄中建立一個名為「ffbin_nix」的新目錄。將下載的檔案中的三個檔案「ffmpeg」、「ffprobe」、「ffplay」複製到剛剛建立的「ffbin_nix」目錄,然後執行;
bash ./build_linux.sh
命令完成後,您的儲存庫根目錄中應該有一個「dist」目錄,其中包含已建置的「onthespot_linux」二進位檔案。
打開 cmd 並執行以下命令來克隆儲存庫並建置。
git 克隆 https://github.com/casualsnek/onthespotcd onthespot
如果您沒有安裝 git,您也可以從 github 下載專案來源 zip,解壓縮並在儲存庫根目錄上開啟 cmd。如果您想使用 ffmpeg 進行構建,請從此處下載適合您作業系統的 ffmpeg 二進位檔案。在儲存庫根目錄中建立一個名為「ffbin_win」的新目錄。將下載的壓縮包中的三個檔案「ffmpeg.exe」、「ffprobe.exe」、「ffplay.exe」複製到剛剛建立的「ffbin_win」目錄中,然後執行;
建置_winC1.bat 建置_winC2.bat
命令完成後,您的儲存庫根目錄中應該有一個「dist」目錄,其中包含已建置的「onthespot_win.exe」二進位檔案。
注意:這只會為您所使用的特定處理器架構建立應用程式。它不構建通用二進位文件
打開終端模擬器並運行以下命令來克隆儲存庫並建置。
git 克隆 https://github.com/casualsnek/onthespotcd onthespot
如果您想使用 ffmpeg 進行構建,請從此處下載適合您作業系統的 ffmpeg 二進位檔案。在儲存庫根目錄中建立一個名為「ffbin_mac」的新目錄。將下載的檔案中的三個檔案「ffmpeg」、「ffprobe」、「ffplay」複製到新建立的「ffbin_mac」目錄,然後執行:
./build_mac.sh
命令完成後,您的儲存庫根目錄中應該有一個包含「onthespot_mac.app」二進位檔案的「dist」目錄。
您也可以在現場建置為wheel,並透過pip將其安裝為python模組在您的系統中。它提供了與系統更好的集成,例如使用系統的 Qt 風格和主題,以及您可以使用提供的圖標和 .desktop 文件在 Linux 系統下更好地集成。
確保您已安裝設定工具!
打開終端模擬器並運行以下命令來克隆儲存庫並建置。
git 克隆 https://github.com/casualsnek/onthespotcd onthespot 蟒蛇-m構建
這將創建一個包含 .whl 文件的 dist 目錄,現在可以使用 pip 安裝該文件,安裝後可以使用命令onthespot_gui
或python3 -m onthespot
啟動該應用程式!
注意:如果您要打包 onthespot 進行分發,請將src/onthespot/resources/icon.svg
複製到/usr/share/icons/hicolor/scalable/apps/casual_onthespot.svg
或$HOME/.local/share/icons/hicolor/scalable/apps/casual_onthespot.svg
和src/onthespot/resources/org.eu.casualsnek.onthespot.desktop
至/usr/share/applications/org.eu.casualsnek.onthespot.desktop
或$HOME/.local/share/applications/org.eu.casualsnek.onthespot.desktop
。這使得應用程式能夠更好地整合到桌面環境!
如果您有改進/功能的想法,請建立問題或加入不和諧伺服器進行討論!
首次啟動應用程式時,您將收到一條警告,提示未新增 Spotify 帳戶。忽略警告,然後在配置標籤底部新增您的帳戶。擁有多個帳戶可以讓您一次下載多首歌曲。
在“搜尋”標籤中,您可以輸入查詢並點擊search
以搜尋歌曲/藝術家/專輯/播放清單。然後,您可以透過點擊download
按鈕來下載結果清單中的媒體。或者,您可以透過點擊表格下方的任何按鈕進行批次下載。請注意,「曲目」以外的媒體類型可能需要更長的時間來解析和下載。在這種狀態下,應用程式可能會被凍結!
在搜尋欄位中輸入 URL,然後按一下下載。您也可以輸入包含 URL 的文字檔案的路徑,它會將其中的所有 url 排隊!請注意,「曲目」以外的媒體類型可能需要更長的時間來解析和下載。在這種狀態下應用程式可能會被凍結!
可以透過導覽至「進度」標籤來查看下載狀態和進度。
最大下載工作線程數:用於媒體下載的線程數。將其設定為您新增的帳戶數量。更改此設定需要重新啟動應用程式才能生效。
解析帳戶SN :帳戶表中使用者名稱左側顯示的號碼。該號碼是負責提供搜尋結果和解析下載網址的帳戶。
下載位置:放置下載的媒體的根資料夾。
下載延遲:成功下載後下次下載之前等待的時間(以秒為單位)。
最大重試次數:繼續之前重試下載的次數。
最大搜尋結果:每種媒體類型的搜尋結果中顯示的項目數。範例:將其設為「1」會顯示藝術家、專輯、曲目和播放清單的一個結果,總共產生 4 個搜尋結果。
原始媒體下載:將檔案(它們將是 .ogg)下載到磁碟,而不轉換為設定的媒體格式,它還會停用元資料寫入和縮圖嵌入。
強制高級:如果您的高級帳戶在帳戶表中顯示“免費”,請使用此選項,這適用於所有已新增的帳戶,因此不建議將免費帳戶和高級帳戶結合使用。如果帳戶不是高級帳戶,請勿使用。
啟用桌面應用程式播放下載:啟用後將自動下載您在 Spotify 桌面應用程式上播放的歌曲。 (支援:Linux/Windows)
顯示/隱藏進階配置:啟用/停用進階配置標籤。
儲存設定:儲存/應用設定
預設曲目名稱為AlbumFormatter/TrackName
曲目名稱格式化程式:此選項可讓您設定下載曲目的命名方案。可以透過將變數括在{}
之間來使用變數。命名方案中可以使用一些變數:
藝人 : 曲目藝人姓名
專輯 : 曲目所在專輯的名稱 *
名稱:曲目名稱
rel_year : 曲目的發行年份
Disc_number : 磁軌所在的磁碟編號 *
track_number : 專輯中曲目的序號 *
playlist_name :播放清單的名稱(如果曲目是作為播放清單的一部分下載)*
playlist_owner :如果曲目作為播放清單的一部分下載,則播放清單的名稱 *
playlist_desc :播放清單的描述(如果曲目是作為播放清單的一部分下載)*
流派 : 歌曲流派 *
label : 唱片公司名稱
Explicit :如果歌曲被標記為“Explicit”,則為“Explicit”,否則將為空白
trackcount :該曲目所在專輯中的曲目總數
Disccount :該曲目所在專輯中的光碟總數
Spotid : Spotify ID
範例: Song: {name} of album: {album} Released in {rel_year}
。
在某些情況下,描述以 * 結尾的變數的值可能為空。這也可以是一條路徑。
專輯目錄名稱格式化程式:此選項可讓您設定下載曲目的目錄命名方案。可以透過將變數括在{}
之間來使用變數。命名方案中可以使用一些變數:
藝術家:專輯主要藝術家的姓名
rel_year:專輯的發行年份 *
專輯:專輯名稱
playlist_name :播放清單的名稱(如果曲目是作為播放清單的一部分下載)*
playlist_owner :如果曲目作為播放清單的一部分下載,則播放清單的名稱 *
playlist_desc :播放清單的描述(如果曲目是作為播放清單的一部分下載)*
流派 : 歌曲流派 *
label : 唱片公司名稱
例: {artist}/{rel_year}/{album}
。
在某些情況下,描述以 * 結尾的變數的值可能為空。這也可以是一條路。
下載區塊大小:用於下載的區塊的大小(位元組)。
停用批次下載通知:啟用此功能將停用使用大量下載時有關狀態的彈出對話方塊。
可恢復的下載重試延遲:嘗試失敗後嘗試另一次下載之前等待的時間。
Skip bytes at the end(下載結束跳過字節) :有時無法下載曲目的最後幾個字節,導致“PD Error”,從而導致下載不斷失敗。此選項設定發生這種情況時跳過下載的位元組數。該值可能會更改,但目前工作值為“167”位元組。如果您收到“解碼錯誤”或歌曲下載不完整,請嘗試將其設為 0。
強製曲目/播放清單項目的藝術家/專輯目錄:如果停用此功能,下載的曲目將放置在下載目錄的根目錄中,而不是藝術家/專輯目錄中。啟用此功能可能會導致下載解析速度變慢,但會使組織音樂變得更容易。
媒體格式:您希望最終下載的音樂採用的媒體格式。在其中。使用原始媒體下載選項時將忽略此設定。
解碼錯誤:如果您收到此錯誤,則您的帳戶可能已受到限制。等待一段時間或嘗試使用其他帳戶。由於還沒有適當的異常處理,應用程式可能會頻繁崩潰。您可以透過開啟新問題來提供協助,並在應用程式出現異常後在控制台視窗中顯示錯誤訊息。
您可以編寫程式碼來包含其他功能或錯誤修復,或者提出有關錯誤和功能的問題,或者只是傳播有關應用程式的工作:)如果您想提供財務支持,您可以訪問此處並透過開放集體或BTC 提供支持(如果您願意)該項目,通過給它一顆星來表示您的支持:)!