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

Swift का उपयोग करके कैसे पता करें कि AVPlayer वीडियो कब खत्म होता है?

AVPlayer वीडियो समाप्ति का पता लगाना

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

सेटअप:

  1. एक प्रोजेक्ट बनाएं और एक्सटेंशन "mp4" के साथ कोई भी वीडियो ड्रैग और ड्रॉप करें, यदि आवश्यक हो तो कॉपी रिसोर्स चुनें और अपने प्रोजेक्ट के टारगेट में जोड़ें।
  2. अब हम प्रोग्रामेटिकली पहले एक वीडियो प्लेयर बनाएंगे, फिर हमारे प्रोजेक्ट में वीडियो का URL बनाएंगे, और फिर वीडियो चलाएंगे।
var videoPlayer: AVPlayer!

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 मेथड भी लिखना होगा, इस मेथड के अंदर आप कोई भी एक्शन कर सकते हैं, अभी के लिए, हम सिर्फ "video ended" प्रिंट करेंगे जब वीडियो समाप्त होता है और नोटिफिकेशन सेंटर इस मेथड को कॉल करता है।

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

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

Swift का उपयोग करके कैसे पता करें कि AVPlayer वीडियो कब खत्म होता है?

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

Swift का उपयोग करके कैसे पता करें कि AVPlayer वीडियो कब खत्म होता है?

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

deinit {
    NotificationCenter.default.removeObserver(self)
}
  1. Windows 10/11 पर मिनटों में शानदार वीडियो वॉलपेपर सेट करें Windows 10/11 पर मिनटों में शानदार वीडियो वॉलपेपर सेट करें

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

  1. iPhone 8 के नए 4K और 240-FPS वीडियो फॉर्मेट में महारत हासिल करना iPhone 8 के नए 4K और 240-FPS वीडियो फॉर्मेट में महारत हासिल करना

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

  1. वीडियो देखते समय Microsoft Edge क्रैश हो रहा है? त्वरित, विश्वसनीय समाधान वीडियो देखते समय Microsoft Edge क्रैश हो रहा है? त्वरित, विश्वसनीय समाधान

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