I think this is a bug in ImageController.as. I think the player should be paused in the doLoad() function, and not resumed until the onLoadComplete() function.
Rather than mess around recompiling it, here's a javascript-only workaround for this:
When loading an image, the player is paused until the image is actually displayed. As a result, the "play" button doesn't spin as it should; it's the play icon instead. So this hides the play button until the end of the playlist and uses a "content" area to display the progress. It works for images and videos, but I haven't tested it with audio.
fv
Rather than mess around recompiling it, here's a javascript-only workaround for this:
$f("slideshow", "flowplayer-3.0.5.swf", {
plugins: {
controls: {
url: 'flowplayer.controls-3.0.3.swf',
autoHide: 'always',
playlist: true
},
loading: {
url: 'flowplayer.content-3.0.2.swf',
top: 10,
left: 10,
width: 75,
height: 30,
display: 'none',
html: '<p align="center">Loading</p>'
}
},
clip: {
autoPlay: true,
useNativeFullScreen: true,
},
play: {
opacity: 0
},
playlist: [
{
url: 'img1.jpg',
scaling: 'fit',
duration: 3,
onBegin: function() {
this.getPlugin("play").css({ opacity: 0 });
this.imageLoaded = false;
},
onCuepoint: [0, function(clip, cuepoint) {
if (!this.imageLoaded) {
this.getPlugin("loading").show();
this.pause();
}
}],
onBufferFull: function() {
if (this.getState() == 4) {
this.imageLoaded = true;
this.play();
this.getPlugin("loading").hide();
}
}},
{
url: 'img2.jpg',
scaling: 'fit',
duration: 3,
onBegin: function() {
this.getPlugin("play").css({ opacity: 0 });
this.imageLoaded = false; },
onCuepoint: [0, function(clip, cuepoint) {
if (!this.imageLoaded) {
this.getPlugin("loading").show();
this.pause();
}
}],
onBufferFull: function() {
if (this.getState() == 4) {
this.imageLoaded = true;
this.play();
this.getPlugin("loading").hide();
}
}},
{
url: 'video1.flv',
onBegin: function() {
this.getPlugin("play").css({ opacity: 0 });
this.getPlugin("loading").show();
},
onStart: function() {
this.getPlugin("loading").hide();
}},
{
url: 'video2.flv',
onBegin: function() {
this.getPlugin("play").css({ opacity: 0 });
this.getPlugin("loading").show();
},
onStart: function() {
this.getPlugin("loading").hide();
},
onFinish: function() {
this.getPlugin("play").css({ opacity: 1 });
}
}]
});
When loading an image, the player is paused until the image is actually displayed. As a result, the "play" button doesn't spin as it should; it's the play icon instead. So this hides the play button until the end of the playlist and uses a "content" area to display the progress. It works for images and videos, but I haven't tested it with audio.
fv