要播放正在下载的文件而不是流媒体,可以使用以下代码示例来实现:
import requests
from tqdm import tqdm
from pydub import AudioSegment
import pydub.playback
# 下载文件并显示下载进度条
def download_file(url, output_path):
response = requests.get(url, stream=True)
total_size = int(response.headers.get('content-length', 0))
block_size = 1024 # 1 Kibibyte
progress_bar = tqdm(total=total_size, unit='iB', unit_scale=True)
with open(output_path, 'wb') as f:
for data in response.iter_content(block_size):
progress_bar.update(len(data))
f.write(data)
progress_bar.close()
# 播放音频文件
def play_audio_file(file_path):
audio = AudioSegment.from_file(file_path)
pydub.playback.play(audio)
# 下载并播放音频文件
url = 'https://example.com/audio_file.mp3'
output_path = 'audio_file.mp3'
download_file(url, output_path)
play_audio_file(output_path)
在上述代码中,download_file
函数使用requests
库从指定的URL下载文件,并使用tqdm
库显示下载进度条。下载的文件保存到指定的output_path
路径下。
play_audio_file
函数使用pydub
库加载音频文件,并使用pydub.playback
模块播放音频文件。
最后,通过调用download_file
函数来下载音频文件,并调用play_audio_file
函数来播放下载的文件。
上一篇:播放暂停按钮的问题