2017-12-13 7 views
0

でサウンドを再生することができません。しかし、実際のデバイスに接続すると、オーディオが再生されません。私のコードのように怒鳴るAvPlayerは私のコードが完全シミュレータで正常に動作し、それがどんな問題なくURLをストリームデバイス

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() 
    } 
} 
関連する問題