displayMedia function
origin: flutter-kitchen-sink/lib/multimedia/main.dart (displayMedia) author: anovsiradj, opencode-go/glm-5.2 version: 2021-09-17, revised: 2026-08-17
MIME-based media dispatcher. Routes a local file path + optional MIME to the right viewer: image → Image.file, video → MediaVideo, audio → MediaAudio. Returns null if unsupported.
Implementation
Widget? displayMedia(String? mediaPath, String? mediaMime) {
if (mediaPath == null) return null;
if ((mediaMime != null && mediaMime.contains('image/')) ||
defaultImageExtensions.any((i) => mediaPath.toLowerCase().endsWith(i))) {
return Image.file(File(mediaPath));
}
if ((mediaMime != null && mediaMime.contains('video/')) ||
defaultVideoExtensions.any((i) => mediaPath.toLowerCase().endsWith(i))) {
return MediaVideo(href: mediaPath);
}
if ((mediaMime != null && mediaMime.contains('audio/')) ||
defaultAudioExtensions.any((i) => mediaPath.toLowerCase().endsWith(i))) {
return MediaAudio(href: mediaPath);
}
return const Text('tidak bisa menjalankan/menampilkan media');
}