【问题标题】:Debugging jPlayer Flash mp3 playback调试 jPlayer Flash mp3 播放
【发布时间】:2014-08-02 23:14:47
【问题描述】:

由于this Chrome issue 导致 jPlayer 1.6.0 使用 Flash 解决方案在 Chrome 36 中播放 mp3,我发现我的 mp3 无法通过 Flash 插件播放。通过 Firefox 30 和 IE 11 中的 HTML5 解决方案,mp3 可以正常播放。

注意我对修复播放以使用 HTML 5 而不是 Chrome 不感兴趣 - 最新版本的 jPlayer 可以做到这一点。相反,我想了解为什么无法通过 Flash 播放。

mp3 托管在 archive.org 上。

当我开始播放时,我观察到的是,在 Chrome 网络检查器中,我收到了一个状态为 Finished 的 mp3 URL 请求,然后又收到了一个对同一 URL 的请求,该 URL 永远处于 Status (pending) 状态。

我在 Firefox 中看到的 HTML5 解决方案是对 mp3 URL 的两个请求,它们都接收 302 重定向,然后是对实际 mp3 URL 的长时间运行请求,该请求成功流式传输 mp3 以供播放

jPlayer 检查器显示进度和 timeupdate 指标在 3 和 4 之间波动,并且 loadstart、play 和 waiting 都发生了,但位于 0。

所以我认为 Flash 播放器可能没有处理重定向。但我不确定如何解决此问题。

我创建了一个 JSFiddle http://jsfiddle.net/e4WnF/4/ 来演示这个问题。

我尝试使用 Wireshark 来弄清楚发生了什么。在使用 HTML 5 播放器的 Firefox 中,我看到导致 302 的 GET 请求,但我在 Chrome 下看不到此 GET 请求的迹象。

我已经通过迁移到 jPlayer 1.6.4 解决了这个问题,但这并没有改变我的 mp3 将无法在没有 HTML 5 音频支持的浏览器中工作的事实。

Thanks

【问题讨论】:

  • 你能在 JSFiddle 和/或这个问题上发布一个完整的例子吗?你的页面总有一天会被修复,这个问题将无法帮助其他人。此外,Flash 通常遵循重定向...我发现使用 Fiddler 之类的工具最容易调试这些问题。在访问媒体的方式方面,Chrome 的开发者工具报告的情况略有不同。使用 Fiddler,您可以看到代理会请求什么。使用 Wireshark,您可以绝对确定通过网络传输的内容。
  • JSFiddle 和 Wireshark 结果添加到问题

标签: javascript flash google-chrome jplayer


【解决方案1】:

这是一个影响大量用户的问题,它是由最近的 Chrome 更改引起的,该更改现已回滚,但是在过滤到更新之前,您需要进行一些更改。在jPlayer group 上至少有十个线程和一个jplayer bug ticket 关于这个问题。还有一个Chrome bug tracker ticket 关于这个。

事实证明,jPlayer 和 Soundcloud 等其他网站实际上并没有遵守 RFC 3003 规范,当 Chrome 收紧他们的代码时,这打破了它。 Chrome 现在已经回滚了此更改,但在过滤通过之前,您可以从 github 下载最新的 jplayer 代码,或者在第 696 行附近立即对 jquery.jplayer.js 文件进行以下更改,使其看起来像这样:

mp3: {
    //codec: 'audio/mpeg; codecs="mp3"',
    codec: 'audio/mpeg',
    flashCanPlay: true,
    media: 'audio'
},

如果这能解决问题,请告诉我。

【讨论】:

  • 我已经从 github 更新到最新版本。不过我的问题是这意味着 Flash 播放在我的网站上不起作用。我想调试 Flash 的问题,而不是使用 Flash 而不是 HTML 5 的问题。
  • 好的,我很高兴我能够及时帮助解决原始问题 - 请不要忘记在我解决该部分时投票并“标记为答案”。继续讨论为什么 Flash 不适合您的完全不同的问题,您现在能否使用 jplayer 2.6.4 提供一个完整的页面。我没有任何问题 - 我已将您的小提琴克隆为解决方案:“flash,html”,并将 IE 开发工具设置为 IE7,这两种情况下检查员都显示“正在使用 jPlayer 的 Flash 解决方案并将支持:mp3",它对我来说很好——Chrome、IE 和 Firefox,都处于“flash”模式。
  • 对不起,这篇文章被称为“调试 jPlayer Flash mp3 播放”,并且从一开始就包含“所以我认为 Flash 播放器可能没有处理重定向。但我不确定如何解决此问题。”很明显,即使没有我对问题的澄清,我也在寻找调试 Flash 的建议,所以我不会投票或接受答案。
  • 就实际问题而言,现在我很困惑。我的小提琴在工作中为我工作,但在家里却不行。我猜我必须在两个位置都有不同的 Chrome 版本。
  • 但我真正要找的是能告诉我如何调试 jPlayer 的 Flash 行为的人。有我可以利用的调试日志吗?我可以通过其他方式收听来自 Flash 播放器的事件吗?或者我可以通过其他方式了解它的失败。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-07
  • 1970-01-01
相关资源
最近更新 更多