displayMedia function

Widget? displayMedia(
  1. String? mediaPath,
  2. String? mediaMime
)

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');
}