8
votes

Comment ajouter Avplayer à uIView dans ViewController

i mon uiviewcontroller code> J'ai une prise à uiview code>, où j'aimerais afficher la vidéo à l'aide de liens externes. Dans ce cas, j'essaie de créer avilleerlayer code> et de l'ajouter à mon uiview code> prise.

Mon code ressemble à celui: P>

class VievController: UICollectionViewController {
    @IBOutlet weak var playerView: UIView!

    override func viewDidLoad(){
            let playerItem = AVPlayerItem(URL: NSURL(string: ("https://www.youtube.com/watch?v=_yE_XgoWBso"))!)
            let avPlayer = AVPlayer(playerItem: playerItem)
            let playerLayer = AVPlayerLayer(player: avPlayer)
            playerLayer.frame = playerView.bounds
            playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
            playerView.layer.addSublayer(playerLayer)
            avPlayer.play()
    }
}//end class


1 commentaires

Il suffit de mettre en place Avplayerviewcontrollerdelegate et votre bon à aller


3 Réponses :


1
votes

Malheureusement, vous ne pouvez pas utiliser Avplayer pour jouer YouTube, Vimeo, etc. Pour ce faire, vous devrez utiliser UIWebView.


0 commentaires

1
votes
    let url = NSBundle.mainBundle().URLForResource("ding.mp3", withExtension: nil)
    guard let newURL = url else {
         print("Could not find file:")
        return
    }
    do {

        backgroundMusicPlayer = try AVAudioPlayer(contentsOfURL: newURL)
        backgroundMusicPlayer.numberOfLoops = 0
        backgroundMusicPlayer.prepareToPlay()
        backgroundMusicPlayer.play()

    } catch let error as NSError {
        //print(error.description)
    }
You jus need to import avfoundation framework then use this above code

1 commentaires

J'ai demandé à propos de chargement de la vidéo de lien externe pas de Bundle



2
votes
Below code help you to solve the issue

Adjust the frame according to your needs

- (void)viewDidLoad
{
   [super viewDidLoad];
   NSError *setCategoryError = nil;
  [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error: &setCategoryError];
  NSString *urlString=[NSString stringWithFormat:@"%@",@"http://www.youtube.com/watch?v=zPP6lXaL7KA&feature=youtube_gdata_player"];
  AVAsset *asset = [AVAsset assetWithURL:[NSURL urlWithString:urlString]];
  avPlayerItem = [[AVPlayerItem alloc]initWithAsset:asset];
  self.songPlayer = [AVPlayer playerWithPlayerItem:avPlayerItem];
  self.avPlayerLayer = [AVPlayerLayer playerLayerWithPlayer: self.songPlayer];
  self.avPlayerLayer.frame = self.view.layer.bounds;
  UIView *newView = [[UIView alloc] initWithFrame:self.view.bounds];
  [newView.layer addSublayer:avPlayerLayer];
  [self.view addSubview:newView];
  [ self.songPlayer play];
}

1 commentaires

Votre réponse peut être correcte être correcte, mais la question demande spécifiquement aux exemples de code SWIFT , pas objectif - c. S'il vous plaît éditer. Merci!