은 그냥 AVPlayer를 당신이 모든 음악을 재생하려면 싱글 톤 클래스의 선수와 관련된 모든 코드를 삽입 재생됩니다
//this is global variable
var player : AVPlayer?
var playerItem:AVPlayerItem?
override func viewDidLoad() {
super.viewDidLoad()
musicplayer()
play()
}
func musicplayer(){
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
try AVAudioSession.sharedInstance().overrideOutputAudioPort(AVAudioSessionPortOverride.speaker)
print("AVAudioSession Category Playback OK")
do {
try AVAudioSession.sharedInstance().setActive(true)
print("AVAudioSession is Active")
} catch let error as NSError {
print(error.localizedDescription)
}
} catch let error as NSError {
print(error.localizedDescription)
}
}
시도 할 것입니다 수업.
배경 모드는 응용 프로그램이 백그라운드 모드이고 UIViewController가 실행 중일 때만 도움이됩니다. 아래 클래스를 사용하여 음악을 재생합니다.
//
// MusicPlayer.swift
// MusicPlayer
//
// Created by Lakhwinder Singh on 11/09/17.
// Copyright © 2017 lakh. All rights reserved.
//
import UIKit
import AVFoundation
class MusicPlayer: NSObject {
//Constant varialbe of class
static let player = MusicPlayer()
//this is global variable
var player : AVPlayer?
var playerItem:AVPlayerItem?
func initPlayer(){
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
try AVAudioSession.sharedInstance().overrideOutputAudioPort(AVAudioSessionPortOverride.speaker)
print("AVAudioSession Category Playback OK")
do {
try AVAudioSession.sharedInstance().setActive(true)
print("AVAudioSession is Active")
} catch let error as NSError {
print(error.localizedDescription)
}
} catch let error as NSError {
print(error.localizedDescription)
}
}
func playMusic(_ musicUrl: String?) {
if let mm = musicUrl {
var url: URL!
url = URL(string: mm)
playerItem = AVPlayerItem(url: url)
player = AVPlayer(playerItem: playerItem)
player?.volume = 1.0
player?.rate = 1.0
player?.play()
}
}
}
플레이어를 초기화하려면 아래 코드를 AppDelegate로 불러주십시오.
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
MusicPlayer.player.initPlayer()
return true
}
그리고이 코드를 학급에서 사용하십시오. timeIntarval, 큐 :
MusicPlayer.player.playMusic(totalAlbumList[myIndex].audiofile)
가 어떻게 ** addPeriodicTimeObserver (forInterval 추가 할 수 있습니다 DispatchQueue.main를 사용하여 {(progressTime) **이 –
하나, 당신은 시간을 얻을 수 MusicPlayer 클래스에 프로토콜을 추가하거나 수 메인 클래스에서 완료 블록에 액세스 할 수있는 변수를 추가 할 수 있습니다. –
@ SporshiyaIslam, 그러면 도움이됩니다. 투표 할 수 있습니다 :) –