2017-12-13 20 views
0

내 코드가 시뮬레이터에서 완벽하게 작동하며 문제없이 URL을 스트림합니다. 그러나 실제 장치에 연결하면 오디오가 재생되지 않습니다.AvPlayer가 장치에서 사운드를 재생할 수 없습니다.

var playerItem: AVPlayerItem? 
var player: AVPlayer? 

func initPlayer() { 
    let url:URL = URL(string:"https://storage.googleapis.com/purelightdatabucket/samples%2F60-Energy%20UPLIFT.mp3")! 
    self.playerItem = AVPlayerItem(url: url) 
    self.player=AVPlayer(playerItem: self.playerItem!) 
    let playerLayer=AVPlayerLayer(player: self.player!) 
    playerLayer.frame = CGRect(x: 0, y: 0, width: 10, height: 50) // actually this player layer is not visible 
    self.view.layer.addSublayer(playerLayer) 
} 
+0

아니요, 음악 재생기에서 오디오를 재생할 때 완벽하게 재생되지 않습니다. 게다가 문제는 iphone 6에서만 발생합니다. 7에서 작동합니다. 이유를 알아낼 수있다. – danu

답변

1

didFinishLaunchingWithOptions

do { 
     try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback) 
     try AVAudioSession.sharedInstance().setActive(true) 
    } catch { 
     print(error) 
    } 
0

에이 코드를 넣어 우는 내 코드는 너무 이것을 사용할 수 :

당신은 당신의 frameworks 경로에 AVKit & AVFoundation을 추가하고 가져와야합니다 :

import UIKit 
import AVKit 
import AVFoundation 

class ViewController: UIViewController { 

    var player = AVPlayer() 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     let playerItem = AVPlayerItem(url: URL(string: "https://storage.googleapis.com/purelightdatabucket/samples%2F60-Energy%20UPLIFT.mp3")!) 
     player = AVPlayer(playerItem: playerItem) 
     player.play() 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
    } 
}