У меня есть аудиофайл, загруженный с сервера в каталог моих документов. Я пытаюсь играть так же, используя AVPlayer в быстром, но по какой-то причине не могу этого сделать. Ниже приведен весь мой код. Если заменить localAudioPath
с onlineResource
он играет хорошоAVPlayer воспроизводит онлайн-ресурс, но не тот же загруженный ресурс
import UIKit
import AVFoundation
class AudioController: UIViewController {
var player : AVPlayer!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func playAudio(sender: AnyObject) {
var name = "bell.mp3"
var docs = NSSearchPathForDirectoriesInDomains(directory, .UserDomainMask, true)[0] as! String
var localAudioPath = docs.stringByAppendingPathComponent(name)
var onlineResource = "path/to/online/bell.mp3"
if NSFileManager.defaultManager().fileExistsAtPath(localAudioPath!) {
let playerItem = AVPlayerItem(URL: NSURL(string: localAudioPath!)!)
player = AVPlayer(playerItem: playerItem)
player.play()
} else {
/* Alamo fire code to download file to docs directory*/
let destination = Request.suggestedDownloadDestination(directory: .DocumentDirectory, domain: .UserDomainMask)
Alamofire.download(.GET, NSURL(string: audio.audioUrl)!.http, destination)
.progress { (bytesRead, totalBytesRead, totalBytesExpectedToRead) in
println(totalBytesRead)
}
.response { (request, response, _, error) in
println(response)
}
}
}
}
Может кто-нибудь сказать мне, если это вообще возможно, чтобы играть локальные файлы с помощью AVPlayer?
http://stackoverflow.com/a/30471885/2303865 –
@LeoDabus Спасибо. Это решает мою проблему. :) –
добро пожаловать –