ios - 如何在具有单独位置 url 和资源 url 的 swift 中从服务器直播音频?

标签 ios swift flash audio live-streaming

我正在开发一个来自第三方 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 提供商在条款和条件中表示,样本必须从服务器实时流式传输,并且不应保存在本地

经过几个小时的搜索,我发现这种格式用于在 Flash 播放器中播放音频。但在 IOS 中不支持 flash 播放器。

即使要让 AVPlayer 工作,我们也只需要更新后的 swift 语法中的一个 url

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及以上

最佳答案

经过长时间的搜索,我发现 rtmp 文件无法在苹果设备上播放,因为苹果不支持 flash payers。无法播放这些格式的 URL 提供的任何数据。

关于ios - 如何在具有单独位置 url 和资源 url 的 swift 中从服务器直播音频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35506380/

相关文章:

java - Flash 中的 HTTP POST - 客户端在响应前关闭 TCP 连接

ios - 为什么tableview的setSelected(_ :animated:) and setHighlighted(_:animated:) method called on init/load?

Swift array.map 将 NSNumber 转换为 UInt

ios - 在下面的代码中,NSUserDefaults 设置是否在我们每次打开应用程序时重置?

Javascript:从Flash(swfObject)调用javaScript函数?

java - 我如何允许用户将视频流式传输到 Web 应用程序进行存储?

ios - cellForRowAtIndexPath 未被调用但 numbersOfRowInSection 是

ios - 如何减少我的应用程序的 ipa 大小

ios - 这个 Objective-C 方法应该返回一个 IBAction。为什么没有返回声明?

swift - 什么是 Objective C 运行时特性?