2017-03-09 3 views
0

Ich habe eine kleine video-anwendung erstellt, aber wenn ich video die hintergrundmusik pause. aber ich möchte Musik wieder spielen, wenn Video Pause und wenn ich Video wieder als Musik-Player wieder abspielen.wie hintergrund musik pause und spielen, wenn meine app video ist in swift 3

i die meisten Links Tiered aber did't

var audioPlayer = AVAudioPlayer() 

try! AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, with: [.duckOthers]) 
try! AVAudioSession.sharedInstance().setActive(true) 

führen, wenn ich diese verwenden, als beide spielen, aber ich möchte Musik pausieren, wenn Video-Wiedergabe und wenn Video Pause als play.same Hintergrundmusik wie Whatsapp

Alle Ideen oder Feedback zu möglichen Möglichkeiten wird sehr geschätzt!

Antwort

1
var audioPlayer = AVAudioPlayer() 

try! AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, with: [.duckOthers]) 
try! AVAudioSession.sharedInstance().setActive(true) 

sieht aus wie Sie beispielsweise jedes Mal erstellt haben, Dosis es jedes Mal initialisieren, wenn ja, dann wird es Musik aus ersten jedes Mal zu starten.

also versuchen Sie es global zu machen.

+0

danke für die Antwort, aber das ist keine Lösung Beca benutze ich diese Instanz auf ViewDidAppear() auslösen. – seggy

+0

und dieser Code funktioniert, aber spielen Hintergrund Audio und Video parallel. – seggy

-1

schließlich Lösung erhalten, aber seine Arbeit nur Standard-System Musik-Player nur

reference link

Zuerst geben die Erlaubnis, Musik-Player ...

<key>NSAppleMusicUsageDescription</key> 
<string>My description about why I need this capability</string> 

Sie können Pause oder play standard music player hier ist der code

import MediaPlayer 

var defaultPlayer = MPMusicPlayerController.systemMusicPlayer() 
defaultPlayer.play() 
//you can also pause defaultPlayer.pause() 
//get current title defaultPlayer.nowPlayingItem?.title 
//get current playbacktime defaultPlayer.player.currentPlaybackTime 
0

Das Neueste swift3-Code

Sie avPlayerViewController verwenden können es Standard Pause sein können und alle Einstellungen spielen kann available.So Sie nur zwei Rahmen arbeitet hinzufügen können, um die projects.Those Frameworks sind

1) AV-Kit-Framework 2) AV Foundation FrameWork Import diese Frameworks in Ihrer Klasse und Objekte für die Spieler zu erstellen und mp3-Datei oder mP4-Datei, um Ihre Projekte Navigation oder anderweitig von url hinzufügen verwendet auch

 import UIKit 
     import AVFoundation 
     import AVKit 



class ViewController: UIViewController { 
var player = AVAudioPlayer() 
let avPlayer = AVPlayer() 

var avPlayerLayer: AVPlayerLayer! 

@IBOutlet var vedioPlayer: UIView! 
override func viewDidLoad() { 
    super.viewDidLoad() 




     } 

Wiedergabe Song Verwendung dieser Code

  func playButton(_ sender: AnyObject) { 
    let url = Bundle.main.url(forResource: "01 O Rangula Chilaka", withExtension: "mp3")! 
    let player = AVPlayer(url: url as URL) 
    let playerViewController = AVPlayerViewController() 
    playerViewController.player = player 
    self.present(playerViewController, animated: true) { 




     playerViewController.player!.play() 

    } 


} 

Video abspielen Verwendung dieser Code seine für MP4-Datei zu einem Projekt oder URL auch das Video verwendet

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

Dieser Code zu spielen, verwenden hinzugefügt für mp4-Datei in Ihren Projekten

 let url = Bundle.main.url(forResource: "Shakthi - Premadesam Yuvarani", withExtension: "mp4")! 
    avPlayerLayer = AVPlayerLayer(player: avPlayer) 
    videoPlayer.layer.insertSublayer(avPlayerLayer, at: 0)//videoPlayer is the uiview the vide0plays only that view. 
    let playerViewController = AVPlayerViewController() 
    playerViewController.player = player 
    self.present(playerViewController, animated: true) { 




     playerViewController.player!.play() 

    } 
+0

Ich versuche diesen Code, aber überhaupt nicht funktionieren ... wenn ich mp3 von mp3 von saavan spiele, nachdem ich Video von meiner Anwendung starten Hintergrundmusik Pause, aber wenn ich Video von meiner App pause Musik nicht gestartet ... so Ihr Code doesn ' t arbeiten. – seggy

Verwandte Themen