我正在从第三方API提供商(www.mndigital.com)开发音乐应用程序。 API提供商为每首歌曲提供30秒的演示。演示应用程序的位置以此格式提供
"SampleLocations": [
{
"Location": "rtmp://mn-ecn-prd-rtmp.mndigital.com",
"Resource": "mp3:/spl/382/071/327/spl_024?48d882e51ff49ca3806e4b63d90b926556349db16cecf61947a8eb9a44f9bee3bf7d",
"Type": "s_mp3"
},
{
"Location": "rtmp://mn-ecn-prd-rtmp.mndigital.com",
"Resource": "mp4:/spl/382/071/327/spl_029.mp4?48d882e51ff49ca3806e4b63d90b926556349db16cecf61947a8eb9a44f9bee3bf7d",
"Type": "s_mp4"
}
],
API提供商也表示,在条款和条件中,样本必须来自服务器streamed live
和should not be saved locally
。
经过几个小时的搜索后,我发现这种格式适用于在Flash播放器中播放音频。但在IOS中不支持Flash播放器。
即使AVPlayer
工作,我们在更新的swift语法中只需要一个网址
do {
let url = "http://yourdomain.com/file.mp3"
let fileURL = NSURL(string:url)
let soundData = NSData(contentsOfURL:fileURL!)
self.audioPlayer = try AVAudioPlayer(data: soundData!)
audioPlayer.prepareToPlay()
audioPlayer.volume = 1.0
audioPlayer.delegate = self
audioPlayer.play()
} catch {
print("Error getting the audio file")
}
所以我不知道如何快速传播这种网址。任何人都可以提出解决方案。
我使用的是swift 2.0 xcode 7.1.1。我的部署目标是IOS 8.0及以上
答案 0 :(得分:1)
经过长时间的搜索,我发现rtmp文件无法在苹果设备中播放,因为苹果不支持闪存付款人。无法播放这些格式的URL提供的任何数据。