Я создаю список воспроизведения в своем приложении Rails, и у меня возникают проблемы с воспроизведением звука в Safari. Если источник аудиоэлемента html5 жестко закодирован, он отлично воспроизводится в сафари, но когда он заполняется с помощью javascript, он не воспроизводится. это прекрасно работает в Chrome и IE, но не в Safari.
Вот Ruby для записи плейлиста:
.playlist_column
-@music_posts.each do |post|
.entry{:id => post.id, :data => {:post_id => post.id, :source => post.mp3.url}}
а вот аудиоэлемент, предварительно загруженный с исходным кодом первой дорожки:
.playlist_player
%audio{:controls => "controls", :id => @music_posts.first.id}
%source{:src => @music_posts.first.mp3.url, :type => "audio/mp3"}
Вот JavaScript:
$(".entry").click(function(){
var current_entry = $(this);
var this_track = current_entry.data("source");
var audio = $("audio").get(0);
var audio_source = $("audio source");
audio_source.attr("src", this_track);
audio.load();
audio.play();
});
Когда я проверяю элемент audio в сафари, он выглядит точно так, как должен, с правильным источником:
<audio controls="controls" id="7">
<source src="http://s3.amazonaws.com/blog/posts/5/song/07%20-%20Young%20Blood.mp3?1328052011" type="audio/mp3">
</audio>
Но он не воспроизводится, и я не вижу никаких ошибок, каких-либо идей? Заранее спасибо.