5d37616d52
AudioServiceConfig handed full-res album art to the notification / lock screen / Wear. Add artDownscaleWidth/Height: 300 + preloadArtwork so external surfaces get a smaller, faster, lower-memory cover with a warm first paint. 6b (notification tap-to-open) dropped: androidNotificationClickStarts Activity already defaults to true, so the tap foregrounds the app; deep-linking to now-playing isn't a config knob and was judged disproportionate. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
31 lines
1.1 KiB
Dart
31 lines
1.1 KiB
Dart
import 'package:audio_service/audio_service.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
|
|
import 'app.dart';
|
|
import 'player/audio_handler.dart';
|
|
import 'player/player_provider.dart';
|
|
|
|
Future<void> main() async {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
final handler = await AudioService.init(
|
|
builder: () => MinstrelAudioHandler(),
|
|
config: const AudioServiceConfig(
|
|
androidNotificationChannelId: 'com.fabledsword.minstrel.audio',
|
|
androidNotificationChannelName: 'Minstrel playback',
|
|
androidNotificationOngoing: true,
|
|
// 8a: hand external surfaces (notification / lock screen / Wear)
|
|
// a downscaled cover instead of full-res album art — smaller
|
|
// payload, faster paint, lower memory. 300px is ample for those
|
|
// targets. preloadArtwork warms it so the first paint isn't blank.
|
|
artDownscaleWidth: 300,
|
|
artDownscaleHeight: 300,
|
|
preloadArtwork: true,
|
|
),
|
|
);
|
|
runApp(ProviderScope(
|
|
overrides: [audioHandlerProvider.overrideWithValue(handler)],
|
|
child: const MinstrelApp(),
|
|
));
|
|
}
|