     /// 播发器的几种状态
     fileprivate var state = BMPlayerState.notSetURL {
         didSet {
-            delegate?.bmPlayer(player: self, playerStateDidChange: state)
+            if state != oldValue {
+                delegate?.bmPlayer(player: self, playerStateDidChange: state)
+            }
         }
     }
     /// 是否为全屏

                let totalTime   = TimeInterval(playerItem.duration.value) / TimeInterval(playerItem.duration.timescale)
                delegate?.bmPlayer(player: self, playTimeDidChange: currentTime, totalTime: totalTime)
            }
        }
    }
    
    
    // MARK: - Notification Event
    @objc fileprivate func moviePlayDidEnd(_ notif: Notification) {

                            self.playDidEnd = true
                        }
                    }
                default:
                    break
                }
