2015-04-17 42 views
0

我有一个MP3文件,我希望能够用'媒体播放器'框架播放这个文件。如何将该文件上传到网址?我试图将其放在YouTube上,然后将YouTube网址放入应用中,但无法使用。我该怎么办?如何在应用程序中使用swift流式传输mp3文件?

这里是我的应用程序代码:

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() 
     } 
    } 
} 

回答

2

你的代码是正确的。下面的代码片段也适用。您目前遇到的问题是由于尝试播放MPMoviewPlayerViewController中的YouTube/VIME流。如果你想从这些网站流,你将不得不使用UIWebView。在GitHub和其他地方有一些自定义播放器,但是如果您将使用下面的代码片段并用您自己的网站(即WordPress)托管的mp3替换该URL,则播放效果会很好。

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行添加到您的课程顶部。

+0

我尝试使用workpress,但它无法看到上传音频文件。它是如何做到的? –

+0

试试播放这个文件。这只是我从我的一个WordPress站点拉出的第一个:http://newcenterchurch.org/wp-content/uploads/2015/04/Radio-4-28-15.mp3 – mrbcg

+0

它的工作,但如何我把它放在我自己的wordpress网站? –

相关问题