自昨天以来,我们在嵌入SoundCloud播放器方面存在问题。我们使用OEMBed方法,但似乎并非所有参数都可以操纵。因此,我们现在获得了新的视觉播放器,而不是旧的变体。
例如,当我们使用:http://soundcloud.com/oembed?format = xml& url = https://soundcloud.com/radionellandlands/el-teque-queque-queque-queque-queque-sexual-sexual-a-a-a-la usive = = = = = = =false
您看到XML中的HTML节点现在包含2倍视觉参数
<oembed>
<version type="float">1.0</version>
<type>rich</type>
<provider-name>SoundCloud</provider-name>
<provider-url>http://soundcloud.com</provider-url>
<height type="integer">400</height>
<width>100%</width>
<title>El Toque: Educacion sexual a la mexicana by Radio Netherlands</title>
<description>"Cuando nos deje de dar verguenza que un niño nos pregunte de dónde vienen los bebés, podremos decir que estamos en buen camino en materia de educación sexual", decía una participante en el Noveno Congreso Mexicano de Educación Sexual y sexología FEMESS, realizado recientemente en Aguascalientes, México. Hasta allá se hizo presente El Toque, donde nuestra colega Mara Landa conversó, entre otros, con Marcela Martínez, la presidenta de la Federación Mexicana de Educación Sexual y Sexualidad FEMESS y Erem Dira, voluntaria del comité organizador del congreso. Producción Mara Landa. Presentación Alejandro Pintamalli.</description>
<thumbnail-url>http://i1.sndcdn.com/artworks-000061844084-068ssp-t500x500.jpg?e30f094</thumbnail-url>
<html><![CDATA[<iframe width="100%" height="400" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?visual=true&url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F118490723&show_artwork=true&visual=false"></iframe>]]></html>
<author-name>Radio Netherlands</author-name>
<author-url>http://soundcloud.com/radionetherlands</author-url>
</oembed>
这是一个临时的解决方法,直到SoundCloud为Oembed添加一个选项。如果他们不让新的视觉播放器成为默认值,那将是可取的,因为现在它破坏了在那里的所有实例。希望他们更新API,以便可以正式支持。
无论如何,这是临时解决方案。基本上,我们只是从iFrame代码中删除视觉播放器选项,然后再将其插入DOM。此代码将内部进入您的oembed回调。
if (oEmbed) $('#player').html(oEmbed.html.replace('visual=true&',''));
我终于找到了使用一些jQuery来实现这一目标的扎实工作。重要的是要注意,我必须通过用"替换Visual = true而完全删除视觉设置,而不是按建议将其设置为false。这只会要求有关SoundCloud的iFrames。
$(document).ready(function(){
$("iframe").each(function() {
var src = $(this).attr('src');
if(src.indexOf('https://w.soundcloud.com/player/?') != -1 && src.indexOf('visual=true') != -1) {
$(this).attr('src', src.replace('visual=true', ' '));
}
});
});
编辑:使用上述代码,您最终可以在oembed call中使用show_artwork和视觉参数!
有一种修改方法。有人在Twitter上问Soundcloud,此后已被引用了很多次。
将visual=true
更改为visual=false
,将show_artwork=true
更改为show_artwork=false
。那应该照顾好它!
src:https://twitter.com/16kbit/status/430477602286239744
希望这会有所帮助。