3

我正在开发一个使用 SoundManager2 的 Web 应用程序。在把我的头撞到墙上并且没有让我的音乐流式传输之后,我终于在创建新的 SoundManager 声音时切换了我的一些 URL。

这是我以前使用的,虽然它会连接,但流永远不会播放。

soundManager.createSound({
    id: 'songId_1',
    serverURL: 'rtmp://s3s5uvbmfjq6k1.cloudfront.net:1935/cfx/st', 
    url: 'hihi.m4a',
    onconnect: function(connected){
        alert(connected);
    }
});

但是,一旦我将其更改为此,它突然就可以流式传输了。

soundManager.createSound({
     id:'test3',
     serverURL:'rtmp://s3s5uvbmfjq6k1.cloudfront.net:1935/cfx/st',
     url:'mp4:hihi.m4a'
});

我不明白为什么第一个不起作用而第二个起作用。我对 serverURL 进行硬编码没有问题,但 url 是动态的并且可以是任意数量的音频格式,因此必须将其转换为将流式传输的有效值对我来说没有意义,除非有 API这样做(我在 Cloudfront 中没有看到)。有没有办法转换

song location/song name.ext

输入正确的流媒体网址还是我需要使用其他播放器?

4

1 回答 1

5

前段时间我们遇到了这个麻烦,最终为每种格式提供了硬编码的 url。我们正在使用另一个 Flash 播放器 Flowplayer,并与 CloudFront 和 EdgeCast 两个流媒体提供商打交道,您会发现即使它们支持的某些视频类型的格式之间存在细微差别。

可以参考为什么RTMP流协议的url路径不一样的问题?我之前问过。

我还没有找到任何工具来转换它,因为这相当依赖于流媒体提供商,而且现阶段没有标准。

当我们处理mp4、flv、mp3时,构造的url是:(注意前缀和扩展名)

mp4:test.mp4
flv:test
mp3:test
于 2012-06-06T00:20:21.727 回答