我有一个MP3文件,我希望能够使用“媒体播放器”框架播放此文件。如何将此文件上传到URL?我尝试将其放在YouTube上,然后将YouTube网址放在应用中,但它不起作用。我该怎么办?
以下是该应用的代码:
import UIKit
import MediaPlayer
class AudioViewController: UIViewController {
var movie:MPMoviePlayerViewController?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
self.playAudio("https://www.youtube.com/embed/tQsxOtH8-RQ")
}
func playAudio(URL:String){
let movieurl:NSURL? = NSURL(string: "\(URL)")
if movieurl != nil {
self.movie = MPMoviePlayerViewController(contentURL: movieurl!)
}
if self.movie != nil {
self.presentViewController(self.movie!, animated: true, completion: nil)
self.movie?.moviePlayer.play()
}
}
}
答案 0 :(得分:2)
你的代码很好。下面的代码片段也有效。您遇到的当前问题是由于尝试在MPMoviewPlayerViewController
中播放youtube / vimeo流。如果要从这些站点流式传输,则必须使用UIWebView。在GitHub和其他地方有一些自定义播放器,但是如果您将使用下面的代码段并将URL替换为您自己网站上托管的mp3(即WordPress),那么播放就可以了。
var url = NSURL(string: "non-youtube/vimeo URL")
var mediaPlayerController = MPMoviePlayerViewController(contentURL: url)
self.presentViewController(mediaPlayerController, animated: true, completion: nil)
mediaPlayerController.moviePlayer.prepareToPlay()
mediaPlayerController.moviePlayer.play()
希望这有帮助。
仅供参考,请确保添加MediaPlayer框架并将import MediaPlayer
行添加到班级的顶部。