vij*_*iju 2 avfoundation ios swift
我有麻烦了。我想在我的应用程序中播放远程 mp3 文件。但是 mp3 文件需要很长时间(大约 5-6 分钟)才能播放。为什么 ?
任何人都可以建议我该怎么办?
import UIKit
import AVFoundation
class TestViewController: UIViewController, AVAudioPlayerDelegate {
var player:AVAudioPlayer = AVAudioPlayer()
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func play(sender: AnyObject) {
let url = "http://www.example.com/song.mp3"
let fileURL = NSURL(string: url.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet()))
let soundData = NSData.dataWithContentsOfURL(fileURL, options: nil, error: nil)
var error: NSError?
self.player = AVAudioPlayer(data: soundData, error: &error)
if player == nil
{
if let e = error
{
println(e.localizedDescription)
}
}
player.volume = 1.0
player.delegate = self
player.prepareToPlay()
player.play()
}
}
Run Code Online (Sandbox Code Playgroud)
提前致谢。
Use AVPlayer instead of AVAudioPlayer for streaming audio. It can be as simple as this --
let urlString = "http://www.example.com/song.mp3"
let url = NSURL(string: urlString)
var avPlayer = AVPlayer(URL: url)
avPlayer.play()
Run Code Online (Sandbox Code Playgroud)
You can also set an observer on the AVPlayer.status property to manage its changing status. Check out: /sf/answers/920985971/ (objective c)
And of course the AVPlayer docs are here: https://developer.apple.com/LIBRARY/ios/documentation/AVFoundation/Reference/AVPlayer_Class/index.html#//apple_ref/occ/cl/AVPlayer
| 归档时间: |
|
| 查看次数: |
4360 次 |
| 最近记录: |