दिलचस्प पोस्ट
एंड्रॉइड यूएसबी होस्ट और छुपे हुए डिवाइस आईओएस में Instagram पर एक छवि साझा करने के लिए कैसे? मैं Sass के अंदर रूबी / रेल चर का उपयोग कैसे कर सकता हूं? समाधान करने के लिए वेबपैक के साथ पथ की आवश्यकता है WPF स्टार क्या करता है (चौड़ाई = "100 *") एक जेपीनल पर आयताकार आरेखण ब्लॉकों का उपयोग करके पृष्ठभूमि थ्रेड से चित्र लोड करना एसडी कार्ड से एक फाइल कैसे हटानी है? सामान्य रूप से जावास्क्रिप्ट में कोड संगठन के आसपास सर्वोत्तम प्रथाओं को स्वीकार किया जाता है कैसे बताओ कि क्या वर्तमान व्यूपोर्ट में एक DOM तत्व दृश्यमान है? जावास्क्रिप्ट समारोह scoping और उत्थापन भुगतान करने वाला ऐप मुफ्त में बदलें लेकिन पता करें कि उपयोगकर्ता ने इसे पहले खरीदा था कैसे दो सेट के प्रतिच्छेदन की गणना करने के लिए? कैसे एक जावा कार्यक्रम Daemonize करने के लिए? जब टेम्पलेट पैरामीटर के रूप में किसी अन्य टेम्पलेट के लिए उपयोग किया जाता है तो टेम्पलेट तर्क का अनुमान क्यों नहीं किया जा सकता?

स्विफ्ट में AVPlayerViewController (AVKit) के साथ वीडियो कैसे खेलें

स्विफ्ट में ए वी किट प्लेयर दृश्य नियंत्रक के साथ आप एक वीडियो कैसे खेल सकते हैं?

override func viewDidLoad() { super.viewDidLoad() let videoURLWithPath = "http://****/5.m3u8" let videoURL = NSURL(string: videoURLWithPath) playerViewController = AVPlayerViewController() dispatch_async(dispatch_get_main_queue()) { self.playerViewController?.player = AVPlayer.playerWithURL(videoURL) as AVPlayer } } 

वेब के समाधान से एकत्रित समाधान "स्विफ्ट में AVPlayerViewController (AVKit) के साथ वीडियो कैसे खेलें"

स्विफ्ट 3.x – 4.x

आवश्यक: आयात AVKit , आयात करें AVFoundation

AVFoundation फ्रेमवर्क की आवश्यकता है भले ही आप AVPlayer का उपयोग करें

यदि आप AVPlayerViewController का उपयोग करना चाहते हैं:

 let videoURL = URL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4") let player = AVPlayer(url: videoURL!) let playerViewController = AVPlayerViewController() playerViewController.player = player self.present(playerViewController, animated: true) { playerViewController.player!.play() } 

या बस AVPlayer :

 let videoURL = URL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4") let player = AVPlayer(url: videoURL!) let playerLayer = AVPlayerLayer(player: player) playerLayer.frame = self.view.bounds self.view.layer.addSublayer(playerLayer) player.play() 

इस कोड को इस विधि में डाल देना बेहतर है: फ़ॉरकाइड दृश्यडिडएपपर (_ एनिमेटेड: बूल) या कहीं बाद


उद्देश्य सी

AVPlayerViewController :

 NSURL *videoURL = [NSURL URLWithString:@"https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"]; AVPlayer *player = [AVPlayer playerWithURL:videoURL]; AVPlayerViewController *playerViewController = [AVPlayerViewController new]; playerViewController.player = player; [self presentViewController:playerViewController animated:YES completion:nil]; 

या बस AVPlayer :

 NSURL *videoURL = [NSURL URLWithString:@"https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"]; AVPlayer *player = [AVPlayer playerWithURL:videoURL]; AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:player]; playerLayer.frame = self.view.bounds; [self.view.layer addSublayer:playerLayer]; [player play]; 

इसे आज़माएं, निश्चित रूप से Swift 2.0 लिए काम करता है

  let player = AVPlayer(URL: url) let playerController = AVPlayerViewController() playerController.player = player self.addChildViewController(playerController) self.view.addSubview(playerController.view) playerController.view.frame = self.view.frame player.play() 

इसे इस्तेमाल करे

 var player:AVPlayer! var avPlayerLayer:AVPlayerLayer = AVPlayerLayer(player: player) avPlayerLayer.frame = CGRectMake(your frame) self.view.layer .addSublayer(avPlayerLayer) var steamingURL:NSURL = NSURL(string:playerURL) player = AVPlayer(URL: steamingURL) player.play() 

उद्देश्य सी

यह केवल Xcode 7 में काम करता है

AVKit/AVKit.h .h फाइल और AVKit/AVKit.h .h और AVKit/AVKit.h .h आयात करें। फिर फाइल में जाओ और इस कोड को जोड़ें:

 NSURL *url=[[NSBundle mainBundle]URLForResource:@"arreg" withExtension:@"mp4"]; AVPlayer *video=[AVPlayer playerWithURL:url]; AVPlayerViewController *controller=[[AVPlayerViewController alloc]init]; controller.player=video; [self.view addSubview:controller.view]; controller.view.frame=self.view.frame; [self addChildViewController:controller]; [video play]; 

स्विफ्ट 3.0 पूर्ण स्रोत कोड:

 import UIKit import AVKit import AVFoundation class ViewController: UIViewController,AVPlayerViewControllerDelegate { var playerController = AVPlayerViewController() @IBAction func Play(_ sender: Any) { let path = Bundle.main.path(forResource: "video", ofType: "mp4") let url = NSURL(fileURLWithPath: path!) let player = AVPlayer(url:url as URL) playerController = AVPlayerViewController() NotificationCenter.default.addObserver(self, selector: #selector(ViewController.didfinishplaying(note:)),name:NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: player.currentItem) playerController.player = player playerController.allowsPictureInPicturePlayback = true playerController.delegate = self playerController.player?.play() self.present(playerController,animated:true,completion:nil) } func didfinishplaying(note : NSNotification) { playerController.dismiss(animated: true,completion: nil) let alertview = UIAlertController(title:"finished",message:"video finished",preferredStyle: .alert) alertview.addAction(UIAlertAction(title:"Ok",style: .default, handler: nil)) self.present(alertview,animated:true,completion: nil) } func playerViewController(_ playerViewController: AVPlayerViewController, restoreUserInterfaceForPictureInPictureStopWithCompletionHandler completionHandler: @escaping (Bool) -> Void) { let currentviewController = navigationController?.visibleViewController if currentviewController != playerViewController { currentviewController?.present(playerViewController,animated: true,completion:nil) } } } 

MPMoviePlayerController का उपयोग करना:

  import UIKit import MediaPlayer class ViewController: UIViewController { var streamPlayer : MPMoviePlayerController = MPMoviePlayerController(contentURL: NSURL(string:"video url here")) override func viewDidLoad() { super.viewDidLoad() streamPlayer.view.frame = self.view.bounds self.view.addSubview(streamPlayer.view) streamPlayer.fullscreen = true // Play the movie! streamPlayer.play() } } 

AVPlayer का उपयोग करना:

 import AVFoundation var playerItem:AVPlayerItem? var player:AVPlayer? override func viewDidLoad() { super.viewDidLoad() let url = NSURL(string: "url of the audio or video") playerItem = AVPlayerItem(URL: url!) player=AVPlayer(playerItem: playerItem!) let playerLayer=AVPlayerLayer(player: player!) playerLayer.frame=CGRectMake(0, 0, 300, 50) self.view.layer.addSublayer(playerLayer) } 

मेरे पास बटन टैप को संभालने के लिए एक नाटक बटन है

 playButton.addTarget(self, action: "playButtonTapped:", forControlEvents: .TouchUpInside) func playButtonTapped(sender: AnyObject) { if player?.rate == 0 { player!.play() playButton.setImage(UIImage(named: "player_control_pause_50px.png"), forState: UIControlState.Normal) } else { player!.pause() playButton.setImage(UIImage(named: "player_control_play_50px.png"), forState: UIControlState.Normal) } } 

मैंने AVPlayerItemDidPlayToEndTimeNotification के लिए एक पर्यवेक्षक को सुन लिया है

 override func viewWillAppear(animated: Bool) { NSNotificationCenter.defaultCenter().addObserver(self, selector: "finishedPlaying:", name: AVPlayerItemDidPlayToEndTimeNotification, object: playerItem) } override func viewWillDisappear(animated: Bool) { NSNotificationCenter.defaultCenter().removeObserver(self) } 

वीडियो / ऑडियो गेम समाप्त होने पर, बटन छवि और सूचना रीसेट करें

  func finishedPlaying(myNotification:NSNotification) { playButton.setImage(UIImage(named: "player_control_play_50px.png"), forState: UIControlState.Normal) let stopedPlayerItem: AVPlayerItem = myNotification.object as! AVPlayerItem stopedPlayerItem.seekToTime(kCMTimeZero) } 

IOS10 / Swift3 / Xcode 8 में एक बग (?!)

 if let url = URL(string: "http://devstreaming.apple.com/videos/wwdc/2016/102w0bsn0ge83qfv7za/102/hls_vod_mvp.m3u8"){ let playerItem = AVPlayerItem(url: url) let player = AVPlayer(playerItem: playerItem) let playerLayer = AVPlayerLayer(player: player) playerLayer.frame=CGRect(x: 10, y: 10, width: 300, height: 300) self.view.layer.addSublayer(playerLayer) } 

काम नहीं करता (रिक्त रिंक …)

यह काम:

 if let url = URL(string: "http://devstreaming.apple.com/videos/wwdc/2016/102w0bsn0ge83qfv7za/102/hls_vod_mvp.m3u8"){ let player = AVPlayer(url: url) let controller=AVPlayerViewController() controller.player=player controller.view.frame = self.view.frame self.view.addSubview(controller.view) self.addChildViewController(controller) player.play() } 

एक ही URL …

स्विफ्ट 3:

 import UIKit import AVKit import AVFoundation class ViewController: UIViewController { @IBOutlet weak var viewPlay: UIView! var player : AVPlayer? override func viewDidLoad() { super.viewDidLoad() let url : URL = URL(string: "http://static.videokart.ir/clip/100/480.mp4")! player = AVPlayer(url: url) let playerLayer = AVPlayerLayer(player: player) playerLayer.frame = self.viewPlay.bounds self.viewPlay.layer.addSublayer(playerLayer) } @IBAction func play(_ sender: Any) { player?.play() } @IBAction func stop(_ sender: Any) { player?.pause() } }