Browse Source

切换后台到前台音乐快速播放

huzhiqiang 3 years ago
parent
commit
587477519f

+ 26 - 26
MusicVideoPlus/AppDelegate.swift

@@ -58,34 +58,20 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
     }
     
     func applicationWillResignActive(_ application: UIApplication) {
-        BFLog(message: "applicationDidEnterBackground")
-        DispatchQueue.global().asyncAfter(deadline: DispatchTime.now() + 1) {
-            // 继续播放其他音乐
-            do {
-                try AVAudioSession.sharedInstance().setActive(false, options: .notifyOthersOnDeactivation)
-                BFLog(message: "关闭声音活跃继续播放其他音乐成功")
-            } catch {
-                BFLog(message: "关闭声音活跃继续播放其他音乐失败:\(error)")
-            }
-        }
+        BFLog(message: "applicationWillResignActive")
+//        DispatchQueue.main.async {
+//            // 继续播放其他音乐
+//            do {
+//                try AVAudioSession.sharedInstance().setActive(false, options: .notifyOthersOnDeactivation)
+//                BFLog(message: "关闭声音活跃继续播放其他音乐成功")
+//            } catch {
+//                BFLog(message: "关闭声音活跃继续播放其他音乐失败:\(error)")
+//            }
+//        }
     }
     func applicationWillEnterForeground(_ application: UIApplication) {
-        BFLog(message: "applicationDidBecomeActive")
-        DispatchQueue.global().async {
-            let session = AVAudioSession.sharedInstance()
-            do {
-                try session.setCategory(.playback)
-                try session.setActive(true, options: .notifyOthersOnDeactivation)
-                BFLog(message: "打开声音活跃关闭其他音乐播放成功")
-            } catch {
-                BFLog(message: "打开声音活跃关闭其他音乐播放失败:\(error)")
-            }
-        }
-    }
-
-    func applicationDidBecomeActive(_: UIApplication) {
-//        BFLog(message: "applicationDidBecomeActive")
-//        DispatchQueue.global().async {
+        BFLog(message: "applicationWillEnterForeground")
+//        DispatchQueue.main.async {
 //            let session = AVAudioSession.sharedInstance()
 //            do {
 //                try session.setCategory(.playback)
@@ -96,4 +82,18 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
 //            }
 //        }
     }
+
+    func applicationDidBecomeActive(_: UIApplication) {
+        BFLog(message: "applicationDidBecomeActive")
+        DispatchQueue.main.async {
+            let session = AVAudioSession.sharedInstance()
+            do {
+                try session.setCategory(.playback, mode: .moviePlayback)
+                try session.setActive(true)
+                BFLog(message: "打开声音活跃关闭其他音乐播放成功")
+            } catch{
+                BFLog(1, message: "打开声音活跃关闭其他音乐播放失败:\(error)")
+            }
+        }
+    }
 }

+ 1 - 1
MusicVideoPlus/Classes/Modules/Home/Controllers/MVHomeController.swift

@@ -278,7 +278,7 @@ class MVHomeController: MVBaseController {
             }
             UIApplication.shared.keyWindow?.addSubview(protocalView)
         }
-        try? AVAudioSession.sharedInstance().setCategory(.playback)
+//        try? AVAudioSession.sharedInstance().setCategory(.playback)
     }
 
     func addLayout() {

+ 1 - 1
MusicVideoPlus/Classes/Modules/Mine/Controllers/MVMineProductController.swift

@@ -117,7 +117,7 @@ class MVMineProductController: PQBaseViewController {
             if (videoList?.count ?? 0) < 20, videoList != nil {
                 self?.collectionView.mj_footer?.endRefreshingWithNoMoreData()
             }
-            PQLoadingHUB.shared.dismissHUB(superView:(self?.view)!)
+            PQLoadingHUB.shared.dismissHUB(superView:(self?.view ?? UIView()))
            
         }
     }