Refactor audio handling in Wolfenstein 3D
- Updated main.dart to use NativeSubprocessAudio instead of CliSubprocessAudio. - Introduced DebugMusicPlayer interface for music playback. - Implemented NativeSubprocessAudio for native audio handling with subprocesses. - Added SilentAudio class as a no-op fallback for audio. - Removed deprecated FlutterAudioAdapter and default audio backend implementations. - Integrated Wolf3dPlatformAudio to manage audio across platforms, selecting between NativeSubprocessAudio and an embedded audio player. - Updated wolf_3d_engine.dart to use SilentAudio as the default audio backend. - Cleaned up audio-related files and ensured proper audio initialization and playback functionality. Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
This commit is contained in:
@@ -6,17 +6,18 @@ import 'package:flutter/services.dart';
|
||||
import 'package:wolf_3d_dart/wolf_3d_data.dart';
|
||||
import 'package:wolf_3d_dart/wolf_3d_data_types.dart';
|
||||
import 'package:wolf_3d_dart/wolf_3d_engine.dart';
|
||||
import 'package:wolf_3d_flutter/audio/default_audio_backend.dart';
|
||||
import 'package:wolf_3d_flutter/audio/wolf3d_platform_audio.dart';
|
||||
import 'package:wolf_3d_flutter/wolf_3d_input_flutter.dart';
|
||||
|
||||
export 'audio/debug_music_player.dart' show DebugMusicPlayer;
|
||||
export 'audio/wolf_audio.dart' show WolfAudio;
|
||||
export 'package:wolf_3d_dart/wolf_3d_audio.dart' show DebugMusicPlayer;
|
||||
|
||||
export 'audio/wolf3d_platform_audio.dart' show Wolf3dPlatformAudio;
|
||||
|
||||
/// Coordinates asset discovery, audio initialization, and input reuse for apps.
|
||||
class Wolf3d {
|
||||
/// Creates an empty facade that must be initialized with [init].
|
||||
Wolf3d({EngineAudio? audioBackend})
|
||||
: audio = audioBackend ?? createDefaultAudioBackend();
|
||||
: audio = audioBackend ?? Wolf3dPlatformAudio();
|
||||
|
||||
/// All successfully discovered or bundled game data sets.
|
||||
final List<WolfensteinData> availableGames = [];
|
||||
|
||||
Reference in New Issue
Block a user