i mon Mon code ressemble à celui: P> 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. 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
3 Réponses :
Malheureusement, vous ne pouvez pas utiliser Avplayer pour jouer YouTube, Vimeo, etc. Pour ce faire, vous devrez utiliser UIWebView. P>
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
J'ai demandé à propos de chargement de la vidéo de lien externe pas de Bundle
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];
}
Votre réponse peut être correcte i> être correcte, mais la question demande spécifiquement aux exemples de code SWIFT B>, pas objectif - c. S'il vous plaît éditer. Merci!
Il suffit de mettre en place Avplayerviewcontrollerdelegate et votre bon à aller