В моих файлах просмотра у меня есть звуковые фрагменты, которые я хочу воспроизвести через диалоговое окно jQuery с помощью потокового проигрывателя. Все работает кроме плеера не показывает. Я сузил проблему до того, где я должен предоставить URL-адрес, где находится SWF-файл проигрывателя. Я хоть убей не могу определить, какую локацию ищет игрок.
Подводя итог, мои файлы:
Скрипт потока - /app/webroot/js/flowplayer/flowplayer-3.2.10.min.js
Flowplayer SWF-/app/webroot/js/flowplayer/flowplayer-3.2.11.swf
Тогда у меня есть следующее:
// Within the default.ctp in /app/view/layouts:
<script type="text/javascript">
// Audio player information:
$(document).ready(function() {
$(".player").click(function() {
$("<div></div>").load($(this).attr("href")).dialog();
return false;
});
});
</script>
// Example in a view file where I am calling the model view:
<?php
echo $this->Html->link($this->Html->image("icons/control_play_blue.png", array("alt" => "Play audio file")),array("controller" => "surveys", "action" => "audioplayer","questions",$question['Question']['ivr_recording_file'], $question['Question']['mime']),array('escape' => false, "class" => "player"));
?>
// Within the controller:
/*
* Audio player for IVR audio files for the site:
*
*/
public function audioplayer($type,$audio,$mime) {
$this->layout = false;
//$this->autoRender = false;
// Determine what type of file it is so that we can get the location:
if($type == "ivr") {
$location = "";
} else {
$location = "";
}
$file = $audio.".".$mime;
$this->set(compact("file","type"));
}
// Lastly, within the view of the controller call (this is where the URL is wrong)
<script type="text/javascript">
$(document).ready(function() {
flowplayer("player", "flowplayer-3.2.11.swf");
});
</script>
<?php
echo $this->Html->Link("","/files/uploads/".$type."/".$file,array("id" => "player"));
?>
/path/to/my/flowlpayer/flowplayer-3.2.11.swf
, это гарантирует, что независимо от того, на какой странице они находятся или насколько они глубоки, файл swf будет вызываться. - person Ohgodwhy   schedule 22.06.2012path/to/my/flowplayer
должен находиться в дереве папок веб-корня, потому что, если нет, Cake будет искать соответствующий контроллер / действие на пути. - person pollirrata   schedule 22.06.2012