I might as well add another answer based on the variable frame rate GIF player contained in this answer:
exportMovie[movieName_String, list_, delayList_: {.03}] :=
Module[{l = Length[list],
delays = Abs@Flatten[{delayList}],
times,
totalTime,
delta,
frames},
delta = Min[delays];
times = Round[PadRight[delays, l, delays]/delta];
frames =
Flatten@Table[Table[list[[i]], {times[[i]]}], {i, Length[times]}];
Export[movieName, frames, "FrameRate" -> Round[1/delta]]
]
This takes a list of frames, e.g. the ones in halirutan's answer, and exports them as a movie in AVI or MOV or similar formats. These formats recognize the "FrameRate" option in Export, and you can calculate the desired frame rate as the reciprocal of the frame duration in seconds.
In this function, I generalized this to a variable frame rate by allowing an optional third argument that contains a list of individual frame durations. If the list is shorter than the number of frames, it's repeated. To make certain frames in the list of the first argument appear longer, I simply replicate them a number of times depending on how much longer than the minimum duration in the list of the third argument is.
So with the example
expr = (1 - a) Exp[-x^2] + .5 a D[Exp[-x^2], x, x];
frames = Table[
Plot[expr, {x, -2, 2}, PlotRange -> {Automatic, {-1, 1}},
Filling -> Bottom], {a, 0, 1, 1/49}];
you would simply do
exportMovie["a.mov", frames, {.12}]
to get a movie where all frames have an approximate duration of .12 seconds (there is rounding error).
The export format above is determined simply by the file name extension, so you could replace .mov by .avi.
AnimateandListAnimate. – image_doctor Jan 11 '13 at 02:25