2017. 9. 11. 11:44ㆍProgramming/Swift
https://www.youtube.com/watch?v=dqad3XuMwHI
1. 해당 음악 파일을 추가하였을 경우 Build Phases 에 추가가 되었는지 확인해 보자. (ex. sample.mp3)
추가가 안되어있으면 + 버튼으로 추가해 주면 된다.
2. 어플이 종료 되어도 백그라운드에서 돌아갈 수 있게 하려면 아래와 같이 설정 해야 한다.
3. 소스
import UIKit import AVFoundation class ViewController: UIViewController { var audioPlayer = AVAudioPlayer()
override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. do { audioPlayer = try AVAudioPlayer(contentsOf: URL.init(fileURLWithPath: Bundle.main.path(forResource: "sample", ofType: "mp3")!)) audioPlayer.prepareToPlay()
// 백그라운드에서도 돌아갈 수 있게 하는 코드 var audioSession = AVAudioSession.sharedInstance() do { try audioSession.setCategory(AVAudioSessionCategoryPlayback) } catch {
}
} catch { print(error) } } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. }
@IBAction func play(_ sender: Any) { audioPlayer.play()
} @IBAction func pause(_ sender: Any) { if audioPlayer.isPlaying { audioPlayer.pause() } else {
} }
@IBAction func restart(_ sender: Any) { if audioPlayer.isPlaying { audioPlayer.currentTime = 0 audioPlayer.play() } else { audioPlayer.play() }
} } |
4. 시뮬레이터를 돌렸을 경우 백그라운드 설정을 굳이 안해도, 어플이 종료가 되어도 음악이 나왔다.
그러나 아이폰에 직접 넣어서 해보았더니, 백그라운드 설정해야지 되더라!
'Programming > Swift' 카테고리의 다른 글
[ERROR] libsystem_kernel.dylib`__abort_with_payload: (0) | 2017.09.22 |
---|---|
랜덤값을 중복되지 않게 추출 (0) | 2017.09.12 |
ttf, otf 폰트 추가하는 법 (0) | 2017.09.09 |
[Swift] CollectionView Layout 비율 맞추기 (0) | 2017.09.04 |
UIImageView 를 다른 UIImageView로 동일한 크기로 처리 (0) | 2017.08.21 |