import 'package:get/get.dart'; import 'package:qq_music/qq_music.dart'; /// QQ音乐服务适配器 class QqMusocService extends GetxService { static QqMusocService get to => Get.find(); var isInitialized = false; // 音乐服务实例 final QqMusic _qqMusic = QqMusic(); /// 初始化 @override void onInit() { super.onInit(); } /// 登录QQ音乐 Future> login() async { try { // 直接调用QQ音乐插件的登录方法 final result = await _qqMusic.login(); // 检查登录结果 if (result['success'] == true) { isInitialized = true; return result; } else { return {'success': false, 'error': result['error'] ?? '登录失败'}; } } catch (e) { return {'success': false, 'error': '登录异常: ${e.toString()}'}; } } /// 搜索歌曲 Future> searchSongs({ required String keyword, int searchType = 0, // SEARCH_TYPE_SONG }) async { try { final result = await _qqMusic.searchSongs( keyword: keyword, searchType: searchType, ); return result; } catch (e) { return {'success': false, 'error': '搜索失败: ${e.toString()}'}; } } /// 播放歌曲列表 Future> playSongs({ required List songMids, int index = 0, }) async { try { final result = await _qqMusic.playSongs( songMids: songMids, index: index, ); return result; } catch (e) { return {'success': false, 'error': '播放失败: ${e.toString()}'}; } } /// 播放音乐 Future> playMusic() async { try { final result = await _qqMusic.playMusic(); return result; } catch (e) { return {'success': false, 'error': '播放失败: ${e.toString()}'}; } } /// 暂停音乐 Future> pauseMusic() async { try { final result = await _qqMusic.pauseMusic(); return result; } catch (e) { return {'success': false, 'error': '暂停失败: ${e.toString()}'}; } } /// 继续播放 Future> resumeMusic() async { try { final result = await _qqMusic.resumeMusic(); return result; } catch (e) { return {'success': false, 'error': '继续播放失败: ${e.toString()}'}; } } /// 停止音乐 Future> stopMusic() async { try { final result = await _qqMusic.stopMusic(); return result; } catch (e) { return {'success': false, 'error': '停止失败: ${e.toString()}'}; } } /// 下一首 Future> skipToNext() async { try { final result = await _qqMusic.skipToNext(); return result; } catch (e) { return {'success': false, 'error': '下一首失败: ${e.toString()}'}; } } /// 上一首 Future> skipToPrevious() async { try { final result = await _qqMusic.skipToPrevious(); return result; } catch (e) { return {'success': false, 'error': '上一首失败: ${e.toString()}'}; } } /// 获取播放状态 Future> getPlaybackState() async { try { final result = await _qqMusic.getPlaybackState(); return result; } catch (e) { return {'success': false, 'error': '获取播放状态失败: ${e.toString()}'}; } } /// 获取当前播放歌曲 Future> getCurrentSong() async { try { final result = await _qqMusic.getCurrentSong(); return result; } catch (e) { return {'success': false, 'error': '获取当前歌曲失败: ${e.toString()}'}; } } /// 获取播放时间 Future> getPlayTime() async { try { final result = await _qqMusic.getPlayTime(); return result; } catch (e) { return {'success': false, 'error': '获取播放时间失败: ${e.toString()}'}; } } }