Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> IOS

एवीप्लेयर वीडियो कब खेलना समाप्त होता है, इसका पता लगाने के लिए स्विफ्ट का उपयोग कैसे करें?

<घंटा/>

तेजी से वीडियो के अंत का पता लगाने के लिए हमें एक वीडियो प्लेयर बनाना होगा, फिर नोटिफिकेशन का उपयोग करके यह पता लगाना होगा कि वीडियो कब चलना बंद हो गया है। हम इसे स्विफ्ट में एक उदाहरण की मदद से करेंगे।

आइए एक प्रोजेक्ट बनाएं और एक्सटेंशन "mp4" के साथ किसी भी वीडियो को ड्रैग एंड ड्रॉप करें, यदि आवश्यक हो तो कॉपी रिसोर्स चुनें और हमारे प्रोजेक्ट के लक्ष्य में जोड़ें।

अब हम प्रोग्रामेटिक रूप से पहले एक वीडियो प्लेयर बनाएंगे, फिर हम अपने प्रोजेक्ट में वीडियो का url बनाएंगे, और फिर हम वीडियो चलाएंगे।

var videoPlayer: AVPlayer!

अब, viewDidAppear में निम्न कोड जोड़ें।

override func viewDidAppear(_ animated: Bool) {
   super.viewDidAppear(animated)
   let filepath: String? = Bundle.main.path(forResource: "Introduction", ofType: "mp4")
   if let videoPath = filepath {
      let url = URL.init(fileURLWithPath: videoPath)
      videoPlayer = AVPlayer(url: url)
      let playerLayer = AVPlayerLayer(player: videoPlayer)
      playerLayer.frame = self.view.bounds
      self.view.layer.addSublayer(playerLayer)
      videoPlayer.play()
   }
}

उपरोक्त कोड एक वीडियो प्लेयर बनाएगा, और इसे व्यू कंट्रोलर में हमारे डिफ़ॉल्ट दृश्य में सबलेयर के रूप में जोड़ देगा।

अब हमें अपने प्लेयर में एक ऑब्जर्वर जोड़ने की जरूरत है, और एक ऑब्जर्वर मेथड भी बनाना है जिसे वीडियो के अंत का पता लगाने पर कॉल किया जाना चाहिए। नीचे दिए गए कोड ब्लॉक को viewDidAppear मेथड में जोड़ें।

NotificationCenter.default.addObserver(self, selector: #selector(videoDidEnd), name:
NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: nil)

अब हमें videoDidEnd विधि भी लिखनी है, इस पद्धति के अंदर आप अपनी इच्छानुसार कोई भी क्रिया कर सकते हैं, अभी के लिए, हम वीडियो समाप्त होने पर "वीडियो समाप्त" प्रिंट करेंगे और अधिसूचना केंद्र इस विधि को कॉल करेगा।

@objc func videoDidEnd(notification: NSNotification) {
   print("video ended")
}

जब हम इस कोड को चलाते हैं तो हमें निम्नलिखित परिणाम मिलते हैं।

एवीप्लेयर वीडियो कब खेलना समाप्त होता है, इसका पता लगाने के लिए स्विफ्ट का उपयोग कैसे करें?

एक बार जब वीडियो चलना बंद हो जाता है तो हमें अपने कंसोल में आउटपुट मिलता है।

एवीप्लेयर वीडियो कब खेलना समाप्त होता है, इसका पता लगाने के लिए स्विफ्ट का उपयोग कैसे करें?

अब, उपरोक्त कोड हमारे लिए आवश्यक काम करता है, लेकिन कुशल मेमोरी उपयोग के लिए, हमें ऑब्जर्वर को भी हटाना होगा, जो नीचे दिए गए कोड का उपयोग करके किया जा सकता है।

deinit {
   NotificationCenter.default.removeObserver(self)
}

  1. Windows 10 या 11 पर वीडियो वॉलपेपर का उपयोग कैसे करें

    यदि आप कुछ समय के लिए विंडोज ऑपरेटिंग सिस्टम के साथ काम कर रहे हैं, तो मुझे यकीन है कि आपने अब तक कम से कम एक या दो बार अपने डेस्कटॉप या बैकग्राउंड इमेज को बदल दिया होगा। और क्यों नहीं? वेब सभी प्रकार की मंत्रमुग्ध करने वाली छवियों से भरा हुआ है। प्रकृति और स्थान से लेकर अमूर्त और विज्ञान तक, अनस्प्

  1. iPhone 8 के नए वीडियो प्रारूपों का उपयोग कैसे करें?

    हाल ही में लॉन्च किए गए iPhone 8 और iPhone 8 Plus में उत्कृष्ट विशेषताएं हैं जिन्हें पहली बार शामिल किया गया था। सबसे हाइलाइट की गई विशेषताओं में 2 वीडियो प्रारूप हैं जिनमें 60 फ्रेम प्रति सेकंड (एफपीएस) के साथ 4K वीडियो शूट करने की क्षमता और 1080पी स्लो-मो वीडियो में 240 एफपीएस है। पहले के iPhon

  1. वीडियो चलाते समय Microsoft Edge के क्रैश होने को कैसे ठीक करें

    माइक्रोसॉफ्ट द्वारा विकसित एज विंडोज ओएस पर डिफॉल्ट वेब ब्राउजर है। माइक्रोसॉफ्ट एज इंटरनेट एक्सप्लोरर का उत्तराधिकारी है, लेकिन यह बहुत तेज है और विभिन्न सुरक्षा सुविधाओं के साथ आता है। प्रत्येक नए अद्यतन के साथ, Microsoft Edge गति, प्रदर्शन और उन्नत सुविधाओं में लगातार बेहतर होता गया है। कोई भी