声音功能

This commit is contained in:
Developer
2026-03-30 21:30:11 +08:00
parent ecffddbc6f
commit 4cd7629f61
15 changed files with 703 additions and 126 deletions

View File

@@ -10,6 +10,7 @@ import '../../constants/app_constants.dart';
import '../../../controllers/history_controller.dart';
import '../../../utils/http/poetry_api.dart';
import '../../../services/network_listener_service.dart';
import '../../../utils/audio_manager.dart';
import 'home_part.dart';
import 'home_components.dart';
import 'home-load.dart';
@@ -57,12 +58,17 @@ class _HomePageState extends State<HomePage>
_initAutoRefresh();
_initDebugInfo();
_initOfflineDataManager();
_initAudioManager();
// 延迟加载诗词,确保页面先显示
WidgetsBinding.instance.addPostFrameCallback((_) {
_loadPoetry();
});
}
Future<void> _initAudioManager() async {
await AudioManager().init();
}
Future<void> _initOfflineDataManager() async {
final offlineDataManager = OfflineDataManager();
await offlineDataManager.init();
@@ -287,6 +293,9 @@ class _HomePageState extends State<HomePage>
Future<void> _toggleLike() async {
if (_poetryData == null || _isLoadingLike) return;
// 播放点赞音效
await AudioManager().playLikeSound();
// 立即切换按钮状态和显示加载
setState(() {
_isLoadingLike = true;
@@ -425,6 +434,9 @@ class _HomePageState extends State<HomePage>
void _loadNextPoetry() async {
if (_isLoadingNext) return;
// 播放下一条音效
await AudioManager().playNextSound();
setState(() {
_isLoadingNext = true;
// 设置所有区域为加载状态