Spaces:
Sleeping
Sleeping
File size: 3,321 Bytes
5fa1f64 18abbdd 5fa1f64 c9c6cbb 5fa1f64 c9c6cbb 18abbdd c9c6cbb 5fa1f64 1086fa2 5fa1f64 1086fa2 5fa1f64 ecfb259 c9c6cbb 18abbdd 5fa1f64 1086fa2 5fa1f64 ecfb259 c9c6cbb 18abbdd 5fa1f64 1086fa2 5fa1f64 ecfb259 c9c6cbb 18abbdd 1086fa2 5fa1f64 ecfb259 c9c6cbb 18abbdd 5fa1f64 1086fa2 5fa1f64 ecfb259 c9c6cbb 18abbdd ee84f0a ecfb259 ee84f0a 18abbdd ee84f0a 18abbdd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
import gradio as gr
import requests
import tempfile
# Audio URLs
AUDIO_URLS = {
"Money": "https://pub-6dc43089a07d4218adb4b0579b3be0b9.r2.dev/News/News_Money.wav",
"Geopolitical": "https://pub-6dc43089a07d4218adb4b0579b3be0b9.r2.dev/News/News_Geopolitical.wav",
"World": "https://pub-6dc43089a07d4218adb4b0579b3be0b9.r2.dev/News/News_World.wav",
"Entertainment": "https://pub-6dc43089a07d4218adb4b0579b3be0b9.r2.dev/News/News_Entertainment.wav",
"Health": "https://pub-6dc43089a07d4218adb4b0579b3be0b9.r2.dev/News/News_Health.wav",
"Sports": "https://pub-6dc43089a07d4218adb4b0579b3be0b9.r2.dev/News/News_Sports.wav"
}
def fetch_audio(category):
# Fetch audio from URL and save it to a temporary file
url = AUDIO_URLS[category]
response = requests.get(url)
response.raise_for_status() # Ensure the request was successful
# Save to a temporary file
temp_file = tempfile.NamedTemporaryFile(delete=False, suffix=".wav")
temp_file.write(response.content)
temp_file.close()
return temp_file.name # Return the path to the temporary file
def create_news_dashboard():
with gr.Blocks(theme=gr.themes.Soft()) as demo:
gr.Markdown("# π» Radio News Dashboard")
with gr.Row():
with gr.Column(scale=1):
gr.Markdown("### π° Money News")
money_audio = gr.Audio(interactive=False, type="filepath")
money_btn = gr.Button("Play Money News")
money_btn.click(fn=fetch_audio, inputs="Money", outputs=money_audio)
with gr.Column(scale=1):
gr.Markdown("### π Geopolitical News")
geo_audio = gr.Audio(interactive=False, type="filepath")
geo_btn = gr.Button("Play Geopolitical News")
geo_btn.click(fn=fetch_audio, inputs="Geopolitical", outputs=geo_audio)
with gr.Column(scale=1):
gr.Markdown("### π World News")
world_audio = gr.Audio(interactive=False, type="filepath")
world_btn = gr.Button("Play World News")
world_btn.click(fn=fetch_audio, inputs="World", outputs=world_audio)
with gr.Row():
with gr.Column(scale=1):
gr.Markdown("### π Entertainment")
ent_audio = gr.Audio(interactive=False, type="filepath")
ent_btn = gr.Button("Play Entertainment News")
ent_btn.click(fn=fetch_audio, inputs="Entertainment", outputs=ent_audio)
with gr.Column(scale=1):
gr.Markdown("### π₯ Health News")
health_audio = gr.Audio(interactive=False, type="filepath")
health_btn = gr.Button("Play Health News")
health_btn.click(fn=fetch_audio, inputs="Health", outputs=health_audio)
with gr.Column(scale=1):
gr.Markdown("### π Sports News")
sports_audio = gr.Audio(interactive=False, type="filepath")
sports_btn = gr.Button("Play Sports News")
sports_btn.click(fn=fetch_audio, inputs="Sports", outputs=sports_audio)
return demo
if __name__ == "__main__":
demo = create_news_dashboard()
demo.launch()
|