Quantcast
Channel: Active questions tagged python - Stack Overflow
Viewing all articles
Browse latest Browse all 16506

Can I use local resources for mp4 playback?

$
0
0

I am trying to use flet to play a local MP4 file.

When I read the reference, I found that their shown code example is using only "http" resources:

sample_media =  [                    ft.VideoMedia("https://user-images.githubusercontent.com/28951144/229373720-14d69157-1a56-4a78-a2f4-d7a134d7c3e9.mp4"),                    ft.VideoMedia("https://user-images.githubusercontent.com/28951144/229373718-86ce5e1d-d195-45d5-baa6-ef94041d0b90.mp4")                ]

Question:
Can I use a local resource (file) for MP4 playback using flet, and how?
There was no example of specifying a local video. Does that mean it can't be done with flet?

Whay I've tried:
I changed the URL from http to ./video/movie.mp4, but it did not work.

Environment : MacLanguage : PythonLibrary : flet

import randomimport flet as ftdef main(page: ft.Page):    page.theme_mode = ft.ThemeMode.LIGHT    page.title = "TheEthicalVideo"    page.window_always_on_top = True    page.spacing = 20    page.horizontal_alignment = ft.CrossAxisAlignment.CENTER    def handle_pause(e):        video.pause()        print("Video.pause()")    def handle_play_or_pause(e):        video.play_or_pause()        print("Video.play_or_pause()")    def handle_play(e):        video.play()        print("Video.play()")    sample_media = [        ft.VideoMedia("https://user-images.githubusercontent.com/28951144/229373709-603a7a89-2105-4e1b-a5a5-a6c3567c9a59.mp4",            extras={"artist": "Thousand Foot Krutch","album": "The End Is Where We Begin",            },            http_headers={"Foo": "Bar","Accept": "*/*",            },        ),    ]    page.add(        video := ft.Video(            expand=True,            playlist=sample_media[0:2],            playlist_mode=ft.PlaylistMode.LOOP,            fill_color=ft.colors.BLUE_400,            aspect_ratio=16/9,            volume=100,            autoplay=False,            filter_quality=ft.FilterQuality.HIGH,            muted=False,            on_loaded=lambda e: print("Video loaded successfully!"),            on_enter_fullscreen=lambda e: print("Video entered fullscreen!"),            on_exit_fullscreen=lambda e: print("Video exited fullscreen!"),        ),        ft.Row(            wrap=True,            alignment=ft.MainAxisAlignment.CENTER,            controls=[                ft.ElevatedButton("Play", on_click=handle_play),                ft.ElevatedButton("Pause", on_click=handle_pause),                ft.ElevatedButton("Play Or Pause", on_click=handle_play_or_pause),                ft.ElevatedButton("Stop", on_click=handle_stop),                ft.ElevatedButton("Next", on_click=handle_next),                ft.ElevatedButton("Previous", on_click=handle_previous),                ft.ElevatedButton("Seek s=10", on_click=handle_seek),                ft.ElevatedButton("Jump to first Media", on_click=handle_jump),                ft.ElevatedButton("Add Random Media", on_click=handle_add_media),                ft.ElevatedButton("Remove Random Media", on_click=handle_remove_media),            ],        ),        ft.Slider(            min=0,            value=100,            max=100,            label="Volume = {value}%",            divisions=10,            width=400,            on_change=handle_volume_change,        ),        ft.Slider(            min=1,            value=1,            max=3,            label="PlaybackRate = {value}X",            divisions=6,            width=400,            on_change=handle_playback_rate_change,        ),    )ft.app(target=main)

Viewing all articles
Browse latest Browse all 16506

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>