SoundManager2 - 使用 RTMP 不显示持续时间
Posted
技术标签:
【中文标题】SoundManager2 - 使用 RTMP 不显示持续时间【英文标题】:SoundManager2 - using RTMP not displaying duration 【发布时间】:2013-10-29 11:48:50 【问题描述】:我正在使用 SoundManager2 通过 RTMP 流式传输 mp3 音频。问题是没有生成持续时间并且始终为0
var sound = soundManager.createSound(
id: 'soundid',
serverURL: 'rtmp://server/',
url: 'file.mp3',
autoLoad: true,
autoPlay: false,
onload: function()
console.log("DURATION: ", this.duration);
,
whileplaying: function()
console.log(this.duration);
,
volume: 100
).play();
是否可以使用 RTMP 获得持续时间?我也试过durationEstimate
,这也显示0。
【问题讨论】:
【参考方案1】:默认情况下Soundmanager2,带RTMP,不计算持续时间,相反,你应该提供它(以微秒为单位)作为参数,否则你将无法搜索(SetPosition(value)):
var sound = soundManager.createSound(
id: 'soundid',
serverURL: 'rtmp://server/',
url: 'file.mp3',
duration: 300000,//example for a 5 minutes song
autoLoad: true,
autoPlay: false,
onload: function()
console.log("DURATION: ", this.duration);
,
whileplaying: function()
console.log(this.duration);
,
volume: 100
).play();
如果您没有 mp3 音乐的持续时间,请尝试使用 mp3 的 ID3 元数据获取它(您可以使用 javascript 获取它们)。
【讨论】:
以上是关于SoundManager2 - 使用 RTMP 不显示持续时间的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Web Audio API 中将 SoundManager2 定义为媒体元素源
自动播放音频播放列表 SoundManager2 bar-ui