diff --git a/android/app/src/main/kotlin/com/example/qingting_player/MainActivity.kt b/android/app/src/main/kotlin/com/example/qingting_player/MainActivity.kt
index 817e08c..0f0537f 100644
--- a/android/app/src/main/kotlin/com/example/qingting_player/MainActivity.kt
+++ b/android/app/src/main/kotlin/com/example/qingting_player/MainActivity.kt
@@ -4,14 +4,20 @@ import android.os.Build
import android.os.Bundle
import android.util.Log
import androidx.core.content.FileProvider
-import io.flutter.embedding.android.FlutterActivity
+import com.ryanheise.audioservice.AudioServiceActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugin.common.MethodChannel
import java.io.File
import android.content.Context
import android.media.AudioManager
-class MainActivity : FlutterActivity() {
+// 必须继承 AudioServiceActivity,而不是 FlutterActivity:
+// audio_service 0.18.x 会把 Dart 入口跑在一个单独的缓存引擎(audio_service_engine)里。
+// 若这里用 FlutterActivity,Activity 会自建第二个 FlutterEngine,
+// main() 因此被跑两遍,产生两个 PlaybackService / 两个 media_kit Player(libmpv 多实例),
+// 表现为两路声音、通知栏控制的是另一个实例。
+// AudioServiceActivity 通过 provideFlutterEngine() 复用同一个缓存引擎,保证全局只有一个 Player。
+class MainActivity : AudioServiceActivity() {
private val CHANNEL = "com.lxh.qingting_player/file_provider"
diff --git a/android/qingting_player_android.iml b/android/qingting_player_android.iml
new file mode 100644
index 0000000..3bc4b3b
--- /dev/null
+++ b/android/qingting_player_android.iml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/gradle-build.log b/gradle-build.log
new file mode 100644
index 0000000..3a51e68
Binary files /dev/null and b/gradle-build.log differ
diff --git a/qingting_player.iml b/qingting_player.iml
new file mode 100644
index 0000000..f66303d
--- /dev/null
+++ b/qingting_player.iml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+