Extracting Audio and Video Metadata in Android using MediaMetadataRetriever
Extract video duration, resolution, audio album art, and frame thumbnails in Android using MediaMetadataRetriever for local files and remote HTTP URLs.
Learn
Practical tutorials and deep explanations grounded in reproducible environments, exact versions, and observable results.
Start learning your way
Learn by technology
Learning resources
Structured tutorials
Existing library
Extract video duration, resolution, audio album art, and frame thumbnails in Android using MediaMetadataRetriever for local files and remote HTTP URLs.
Write a C packet sniffer in Linux using AF_PACKET raw sockets to capture, decode, and analyze Ethernet, IP, TCP, and UDP frames on wlan0.
Write a C program in Linux using inotify_init and inotify_add_watch to monitor directory file creation, modification, and deletion events in real time.
Write a C program in Linux to parse Windows BMP image headers, convert 24-bit BGR pixels into raw 16-bit RGB565 binary data for embedded LCD displays.
Learn how adb kill-server and adb start-server work, resolve port 5037 conflicts, and fix ADB device connection issues in Android Studio.
Learn how to manually trigger the Linux Kernel Out-Of-Memory (OOM) killer via SysRq, inspect /proc/pid/oom_score, and protect critical processes.
Trace how AOSP initializes Bluetooth profiles (A2DP, HFP, GATT) from SystemServer and AdapterService down to Fluoride HAL and Binder IPC.
Turn your Linux PC or Raspberry Pi into a wireless Bluetooth speaker for smartphones using BlueZ, PipeWire, and PulseAudio A2DP audio routing.
Configure Ubuntu Linux as a Bluetooth A2DP Sink audio receiver to stream audio wirelessly from mobile phones using PulseAudio, PipeWire, and BlueZ.