diff --git a/lib/provider/local_tracks/local_tracks_provider.dart b/lib/provider/local_tracks/local_tracks_provider.dart index db8c3401..a0e2ecea 100644 --- a/lib/provider/local_tracks/local_tracks_provider.dart +++ b/lib/provider/local_tracks/local_tracks_provider.dart @@ -24,6 +24,9 @@ const supportedAudioTypes = [ "audio/opus", "audio/wav", "audio/aac", + "audio/flac", + "audio/x-flac", + "audio/x-wav", ]; const imgMimeToExt = { @@ -68,13 +71,16 @@ final localTracksProvider = await Directory(location).list(recursive: true).toList(); entities.addAll( - dirEntities - .where( - (e) => - e is File && - supportedAudioTypes.contains(lookupMimeType(e.path)), - ) - .cast(), + dirEntities.where( + (e) { + final mime = lookupMimeType(e.path) ?? + (extension(e.path) == ".opus" ? "audio/opus" : null); + + print("${basename(e.path)}: $mime"); + + return e is File && supportedAudioTypes.contains(mime); + }, + ).cast(), ); } catch (e, stack) { AppLogger.reportError(e, stack); diff --git a/pubspec.lock b/pubspec.lock index f44f3288..6bdc876f 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1539,10 +1539,10 @@ packages: dependency: "direct main" description: name: mime - sha256: "801fd0b26f14a4a58ccb09d5892c3fbdeff209594300a542492cf13fba9d247a" + sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" url: "https://pub.dev" source: hosted - version: "1.0.6" + version: "2.0.0" nm: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index c87afb6a..98161c4b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -88,7 +88,7 @@ dependencies: media_kit: ^1.1.10+1 media_kit_libs_audio: ^1.0.4 metadata_god: ^1.0.0 - mime: ^1.0.2 + mime: ^2.0.0 open_file: ^3.5.10 package_info_plus: ^6.0.0 palette_generator: ^0.3.3